En un post anterior vimos la forma de conectarnos a una base de datos Access con C#, pero de nada nos sirve solo conectarnos, debemos interactuar con la base de datos para agregar registros (INSERT), actualizar datos (UPDATE) y eliminar registro (DELETE),y claro esta debemos ser capaces de extraer información y mostrar esta en pantalla.
Para este ejemplo utilizamos una base de datos Access (dbalumno.mdb) con una tabla llamada Alumno que tiene tres campos: ID autonumerico, nombre y apellido de tipo Texto. Añadimos unos cuantos datos manualmente
A continuación el programa completo en consola con las operaciones INSERT, UPDATE y DELETE, para su mejor comprensión se divide este en diferentes métodos para cada acción que se quiere realizar.
01 using System; 02 using System.Collections.Generic; 03 using System.Linq; 04 using System.Text; 05 using System.Data.OleDb; 06 07 namespace ConAccessOperations 08 { 09 class Program 10 { 11 static OleDbConnection con;//Representa una conexión abierta a un origen de datos 12 static String ds = "E:/dbalumno.mdb"; //direccion de la base de datos Access 13 static String stringConexion = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ds; 14 15 static void Main(string[] args) 16 { 17 conectar(); 18 19 //Se imprimir los registros 20 imprimirRegistros(); 21 //se añaden dos nuevos registros 22 insertar("Jorge","Nitales"); 23 insertar("Elsa", "Pallo"); 24 imprimirRegistros(); 25 //Se actualiza el registro con ID=4 26 actualizar(4,"apellido='Gordito'"); 27 imprimirRegistros(); 28 //Se elimina 29 eliminar(2); 30 imprimirRegistros(); 31 32 desconectar(); 33 Console.WriteLine("Presione cualquier tecla para terminar"); 34 Console.ReadKey(); 35 } 36 37 /** Abre una conexion a la base de datos */ 38 static void conectar() 39 { 40 try 41 { 42 con = new OleDbConnection(@stringConexion); 43 con.Open();//se abre una conexion 44 Console.WriteLine("Conectado a la base de datos."); 45 } 46 catch (System.Exception ex) 47 { 48 Console.WriteLine("ERROR:" + ex.Message); 49 } 50 } 51 52 /** Cierra la conexion a la base de datos */ 53 static void desconectar() 54 { 55 con.Close(); 56 Console.WriteLine("La conexion ha terminado."); 57 } 58 59 /** Extrae registros y los muestra en pantalla */ 60 static void imprimirRegistros() 61 { 62 OleDbCommand cmd = new OleDbCommand(); 63 cmd.Connection = con; 64 cmd.CommandText = @"SELECT Id,nombre,apellido FROM Alumno"; 65 //Ejecuta la instruccion SQL y retorna el resultado 66 OleDbDataReader reader = cmd.ExecuteReader(); 67 Console.WriteLine("-----------------------------------"); 68 //va leyendo los registros y mostrando en pantalla 69 while (reader.Read()) 70 { 71 Console.WriteLine("{0} | {1} | {2}", reader.GetValue(0).ToString(), 72 reader.GetValue(1).ToString(), 73 reader.GetValue(2).ToString()); 74 } 75 Console.WriteLine("-----------------------------------"); 76 reader.Close(); 77 } 78 79 /** Ejecuta un INSERT */ 80 static void insertar(String nombre, String apellido) 81 { 82 OleDbCommand cmd = new OleDbCommand();//Representa una instruccion SQL 83 cmd.Connection = con;//asigna la conexion a la base de datos 84 Console.Write("Insertando registros..."); 85 String query = "INSERT INTO Alumno(nombre,apellido) VALUES('"+nombre+"','"+apellido+"')"; 86 cmd.CommandText = @query;//asigna la instruccion SQL que se ejecutara 87 cmd.ExecuteNonQuery();//ejecuta una instruccion SQL 88 Console.WriteLine("ok"); 89 } 90 91 /** Ejecuta un UPDATE 92 * Id Llave primaria 93 * Set Ej. "Nombre='nuevo valor'" 94 */ 95 static void actualizar(int Id, String Set) 96 { 97 OleDbCommand cmd = new OleDbCommand(); 98 cmd.Connection = con; 99 Console.Write("Actualizando..."); 100 String query = "UPDATE Alumno SET "+Set+" WHERE Id="+Id; 101 cmd.CommandText = @query; 102 cmd.ExecuteNonQuery(); 103 Console.WriteLine("ok"); 104 } 105 106 /** Elimina un registro dado su ID */ 107 static void eliminar(int Id) 108 { 109 OleDbCommand cmd = new OleDbCommand(); 110 cmd.Connection = con; 111 Console.Write("Eliminando..."); 112 String query = "DELETE FROM Alumno WHERE Id="+Id; 113 cmd.CommandText = @query; 114 cmd.ExecuteNonQuery(); 115 Console.WriteLine("ok"); 116 } 117 118 } 119 }
Ejecutamos
enjoy 🙂
Una cola doblemente terminada o deque es una estructura de datos lineal que permite insertar y eliminar elementos por am[...]
Como dice un viejo dicho, «La practica hace al maestro» y en el mundo de la programación no es diferente, por eso siempr[...]
En este post crearemos un componente gráfico para java que nos permitirá seleccionar la hora del día de una manera senci[...]
Existen muchas camaras de seguridad por internet algunas protegidas por contraseña pero la mayoria no, utilizando el hac[...]
Cuando realizamos proyectos java desde Netbeans, usamos System.out.println para imprimir datos en consola (para depurar,[...]
En este tutorial, veremos un poco más de lo que son las texturas en libGDX y dos maneras de añadirlas a nuestros juegos,[...]