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 🙂
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
SQLite es un sistema de gestión de bases de datos relacional, escrita en C, si se desea hacer uso de encriptación con S...
Java Excel API es un API para java que permite a los desarrolladores leer y escribir en hojas de cálculo Excel. jexcelap...
Los gráficos de torta, también llamados gráficos de 360 grados o circulares, son gráficos estadísticos que se utilizan p...
En ocasiones los administradores de sitios web experimentan problemas de lentitud en su carga o en el peor de los casos...
En este post vemos la forma de conectar una base de datos Access con JasperReport para diseñar y ejecutar reportes. Para...
En esta oportunidad aprovechando el interés que tienen ahora los superheroes de Marvel, crearemos un formulario de logue...
Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...