Untitled
unknown
plain_text
a year ago
12 kB
0
Indexable
Never
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using MySql.Data.MySqlClient; using System.Collections; using System.Data.SqlClient; using System.Configuration; using System.Data.Common; namespace laboratorio { public class ConexionBD { private MySqlConnection conexion; public string BD_CON = "MiConexionBD"; private string connectionString; /*private string servidor = "localhost"; // Nombre del servidor de la base de datos private string puerto = "3306"; // Puerto de la base de datos private string usuario = "root"; // Usuario de la base de datos private string contrasena = ""; // Contraseña del usuario de la base de datos private string baseDatos = "espacios"; // Nombre de la base de datos */ /* public ConexionBD() { string cadenaConexion = "server=" + servidor + ";port=" + puerto + ";user=" + usuario + ";password=" + contrasena + ";database=" + baseDatos + ";"; conexion = new MySqlConnection(cadenaConexion); }*/ public ConexionBD(string connectionName) { var connectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString; this.conexion = new MySqlConnection(connectionString); } public MySqlConnection GetConnection() { return conexion; } public void OpenConnection() { if (conexion.State == System.Data.ConnectionState.Closed) { conexion.Open(); } } public void CloseConnection() { if (conexion.State == System.Data.ConnectionState.Open) { conexion.Close(); } } /* public bool AbrirConexion() { try { conexion.Open(); return true; } catch (MySqlException ex) { // Manejar excepción de conexión return false; } } public void CerrarConexion() { conexion.Close(); } public MySqlConnection GetConnection() { return conexion; } *//* public DataTable EjecutarConsulta(string consulta) { DataTable tabla = new DataTable(); if (AbrirConexion()) { MySqlCommand comando = new MySqlCommand(consulta, conexion); MySqlDataAdapter adaptador = new MySqlDataAdapter(comando); adaptador.Fill(tabla); CerrarConexion(); } foreach (DataRow fila in tabla.Rows) { foreach (DataColumn columna in tabla.Columns) { Console.Write(fila[columna] + " "); } Console.WriteLine(); } Console.WriteLine("Ejecutar consulta: " + tabla); return tabla; }*/ public DataTable EjecutarConsulta(string consulta) { DataTable tabla = new DataTable(); try { using (var comando = new MySqlCommand(consulta, conexion)) { using (var adaptador = new MySqlDataAdapter(comando)) { adaptador.Fill(tabla); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } foreach (DataRow fila in tabla.Rows) { foreach (DataColumn columna in tabla.Columns) { Console.Write(fila[columna] + " "); } Console.WriteLine(); } Console.WriteLine("Ejecutar consulta: " + tabla); return tabla; } /* public bool InsertarQuery(string consulta) { var resultado = false; if (AbrirConexion()) { MySqlCommand comando = new MySqlCommand(consulta, conexion); var filasAfectadas = comando.ExecuteNonQuery(); resultado = filasAfectadas > 0; CerrarConexion(); } return resultado; } */ /* public bool InsertarQuery(string consulta, string connectionName) { var resultado = false; using (var conexion = new ConexionBD(connectionName).GetConnection()) { conexion.Open(); using (var comando = new MySqlCommand(consulta, conexion)) { var filasAfectadas = comando.ExecuteNonQuery(); resultado = filasAfectadas > 0; } } return resultado; } */ public DataTable ObtenerEscuelas() { var consulta = "SELECT idEscuelas, name FROM escuelas"; return EjecutarConsulta(consulta); } public DataTable ObtenerEspacios() { var consulta = "SELECT idEspacios, name FROM espacio"; return EjecutarConsulta(consulta); } public DataTable ObtenerEstantes() { var consulta = "SELECT idEstantes, name FROM estantes"; return EjecutarConsulta(consulta); } /* public DataTable ObtenerCarreras(int idEscuelaSeleccionada) { var consulta = string.Format("SELECT idCarreras, name FROM carreras WHERE idEscuelas = {0}", idEscuelaSeleccionada); return EjecutarConsulta(consulta); } */ public DataTable ObtenerCarreras(int idEscuelaSeleccionada) { var consulta = "SELECT idCarreras, name FROM carreras WHERE idEscuelas = @idEscuela"; using (var conexion = new ConexionBD(BD_CON).GetConnection()) { conexion.Open(); using (var comando = new MySqlCommand(consulta, conexion)) { comando.Parameters.AddWithValue("@idEscuela", idEscuelaSeleccionada); using (var adaptador = new MySqlDataAdapter(comando)) { var tabla = new DataTable(); adaptador.Fill(tabla); return tabla; } } } } /* public bool InsertarAlumno(string nombreAlumno, int semestre, int matricula, string email, int idCarrera, int idEscuela) { var consulta = string.Format("INSERT INTO alumnos (name, semestre, matricula, email, idCarreras, idEscuelas) VALUES ('{0}', '{1}', {2}, {3}, {4}, {5})", nombreAlumno, semestre, matricula, email, idCarrera, idEscuela); return InsertarQuery(consulta, ); }*/ public bool InsertarAlumno(string nombreAlumno, int semestre, int matricula, string email, int idCarrera, int idEscuela) { var consulta = "INSERT INTO alumnos (name, semestre, matricula, email, idCarreras, idEscuelas) VALUES (@nombre, @semestre, @matricula, @email, @idCarrera, @idEscuela)"; using (var conexion = new ConexionBD(BD_CON).GetConnection()) { conexion.Open(); using (var comando = new MySqlCommand(consulta, conexion)) { comando.Parameters.AddWithValue("@nombre", nombreAlumno); comando.Parameters.AddWithValue("@semestre", semestre); comando.Parameters.AddWithValue("@matricula", matricula); comando.Parameters.AddWithValue("@email", email); comando.Parameters.AddWithValue("@idCarrera", idCarrera); comando.Parameters.AddWithValue("@idEscuela", idEscuela); var filasAfectadas = comando.ExecuteNonQuery(); return filasAfectadas > 0; } } } /* public bool InsertarEspacio(string espacio, string abreviacion) { var consulta = string.Format("INSERT INTO espacio (name, abreviacion, habilitado) VALUES ('{0}','{1}','{2}')", espacio, abreviacion, 0); //0 habilitado return InsertarQuery(consulta); } */ public bool InsertarEspacio(string espacio, string abreviacion) { using (var connection = new ConexionBD(BD_CON).GetConnection()) { var consulta = "INSERT INTO espacio (name, abreviacion, habilitado) VALUES (@espacio, @abreviacion, @habilitado)"; using (var command = new MySqlCommand(consulta, connection)) { command.Parameters.AddWithValue("@espacio", espacio); command.Parameters.AddWithValue("@abreviacion", abreviacion); command.Parameters.AddWithValue("@habilitado", 0); connection.Open(); var filasAfectadas = command.ExecuteNonQuery(); return filasAfectadas > 0; } } } /* public bool InsertarEstante(string estante, int idEspacios) { var existeEstante = ExisteEstante(estante); if (!existeEstante) { var consulta = string.Format("INSERT INTO estantes (name, idEspacios, habilitado) VALUES ('{0}','{1}','{2}')", estante, idEspacios, 0); //0 habilitado return InsertarQuery(consulta); } else { throw new Exception("Ya existe un estante con el mismo nombre."); } } public bool ExisteEstante(string estante) { var consulta = "SELECT COUNT(*) FROM estantes WHERE name = @nombre"; var cmd = new MySqlCommand(consulta, conexion); cmd.Parameters.AddWithValue("@nombre", estante); var resultado = EjecutarConsulta(cmd); Console.WriteLine(resultado); return resultado.Rows.Count > 0; } */ public bool InsertarEstante(string estante, int idEspacios) { var existeEstante = ExisteEstante(estante); if (!existeEstante) { var consulta = "INSERT INTO estantes (name, idEspacios, habilitado) VALUES (@estante, @idEspacios, @habilitado)"; using (var connection = new ConexionBD(BD_CON).GetConnection()) { using (var command = new MySqlCommand(consulta, connection)) { command.Parameters.AddWithValue("@estante", estante); command.Parameters.AddWithValue("@idEspacios", idEspacios); command.Parameters.AddWithValue("@habilitado", 0); connection.Open(); var filasAfectadas = command.ExecuteNonQuery(); return filasAfectadas > 0; } } } else { throw new Exception("Ya existe un estante con el mismo nombre."); } } public bool ExisteEstante(string estante) { var consulta = "SELECT COUNT(*) FROM estantes WHERE name = @nombre"; using (var connection = new ConexionBD(BD_CON).GetConnection()) { using (var command = new MySqlCommand(consulta, connection)) { command.Parameters.AddWithValue("@nombre", estante); connection.Open(); var resultado = command.ExecuteScalar(); Console.WriteLine(resultado); return Convert.ToInt32(resultado) > 0; } } } } }