Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / C Sharp / Insert, Update, Delete con Access y C#

Insert, Update, Delete con Access y C#

Autor jc mouse miércoles, agosto 27, 2014

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

tabla mdb

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

IUD

enjoy 🙂

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

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! :)

También Te Podría Interesar

Guardar y Leer imagenes en PostgresSQL

Guardar y Leer imagenes en PostgresSQL

En este tutorial veremos una forma para registrar archivos JPG en una base de datos PostgreSQL y recuperarlos para utili...

Añade un PlaceHolder a un JTextField

Añade un PlaceHolder a un JTextField

PlaceHolder: PlaceHolder es un atributo propio de HTML5 y es el texto que aparece dentro de un campo de texto (un JTextF...

Gráficos estadísticos con Base de Datos SQLite

Gráficos estadísticos con Base de Datos SQLite

Si necesitamos mostrar gráficos estadísticos en nuestras aplicaciones android, contamos con muchas librerías disponibles...

Juego: Acierta los colores (Código Fuente)

Juego: Acierta los colores (Código Fuente)

Acierta los colores o Adivina los colores es un sencillo juego que consiste en que dado 6 colores «rojo», «verde», «salm...

Procedimientos almacenados en MySQL con Megan Fox

Procedimientos almacenados en MySQL con Megan Fox

Los procedimientos almacenados en MySQL son similares a los procedimientos de otros lenguajes de programación en el sent...

Consultas con parámetros en Access y Java

Consultas con parámetros en Access y Java

Tenemos un archivo de base de datos Access *.MDB y queremos realizar una consulta con parámetros de búsqueda utilizando...

Comparte lo que sabes

Categorias

Últimas entradas

Existe una gran cantidad de contenido sobre productividad, trucos, consejos y trabajo y más. Pero, ¿Qué pasa con esos mo...

En este post te enseño a usar una herramienta de Inteligencia Artificial para animar tus fotografias y esto completament...

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...

Herramientas

Generador de Enlaces a Whatsapp