Untitled
unknown
plain_text
a year ago
5.3 kB
1
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; namespace laboratorio { public class ConexionBD { private MySqlConnection conexion; 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 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 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 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 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 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 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; } } }