1-BASE DE DATOS.
Que es una DB: Una de DB es una base de datos un conjunto de informacion relacionada y estructurada, puede tener diferentes tipos de datos, y esta formada por tablas, un conjunto de tablas conformaran nuestra base de datos.
Que son las tablas?
Las tablas son un contenedor de informacion, la cual esta organizada y esquematizada, esta formada por registros y a su vez contienen diferentes campos.
Estas son objetos de almacenamiento que podran ser manipulados por nuestras aplicaciones.
Que es SQL? Structured Query Language, es el lenguaje que nos permite hacer consultas, definir y actualizar nuestra base de datos.
Tipos de datos de una DB
http://technet.microsoft.com/es-es/library/ms187752.aspx
Estructura del lenguaje
DDL y DML
DDL: Comprende los comandos para: crear, modificar y eliminar tablas e indices.
Comandos mas utilizados son: CREATE, ALTER(Modifica, Agregar columnas, cambia la estructura), DROP(Borrar).
El que nosotros vamos a usar
DML: Comprende los comandos para: realizar consultas, insertar, modificar, eliminar.
Comados mas utilizados son: SELECT, INSERT, UPDATE, DELETE(Elimina informacion no la tabla).
Algunas consultas y creacion de tablas
http://es.wikipedia.org/wiki/SQL
Algo mas completo sobre DB
http://foro.elhacker.net/bases_de_datos/iniciando_en_base_de_datos-t273232.0.html
2- ADO.NET
Que es ADO.NET? Es im conjunto de librerias orientadas a objetos que nos permite interactuar con la base de datos, archivos de: texto, XML, plantillas excel, etc.
Estructura de ADO.NET
<Data Providers> MySql
<Data Sets>Obtener informacion de esa DB
Data Providers: Tiene la siguientes clases.
Connection: la cual nos permite establecer la conexion con la DB.
Command: La cual nos permite hacer cualquier tipo de consulta y eliminacion(datos) a la DB
Parameter: Parametros para ser usados en un Command.
DataAdapter: Es el elemento que nos permite almacenar los datos obtenidos de una DB en un objeto Data Set.
DataReader: Es la clase que nos permite procesar los resultados.
Data Sets: Contiene las siguientes clases
DataTable: Representa una unica tabla
-DataColumn: Columna de la tabla con su nombre y tipo.
-DataRow: Fila de la tabla y nos permite realizar acciones sobre ella
DataRelation: Representa las relaciones entre las tablas.
Constraint: Las restricciones de la tabla.
SQLHelper
SQLHelper es una clase que nos permite reducir lineas de codigo que usaremos para establecer la conexion a la DB.
Metodos de SQLHelper:
ExecuteDataSet
ExecuteNonQuery
ExecuteReader
ExecuteScalar
ExecuteXmlReader
Mas info: http://es.wikipedia.org/wiki/ADO.NET
3- C# & ADO.NET
Realizando Consultas a la DB con C#
Código
using System; using System.Data; using System.Data.SqlClient; /*Estas son las librerias que necesitaremos incluir a nuestro proyecto para utilizar las clases y metodos explicados anteriormente. */ Class ConexionEjemplo { public static void Main(string[] args) { //Establecemos conexion conexion.ConnectionString = "Data Source=VerImagen;User Id=User;password=Password;Initial Catalog=NombreDeLaDB;"; //Instaciamos el DataReader donde se guardaran los datos SqlDataReader read=null; try{ //Abrimos la conexion conectar.Open(); //Realizamos una consulta //Cargamos los datos al DataReader read= consulta.ExecuteReader(); while(read.Read()) { Console.WriteLine("Mostramos el contenido de Auto: "+read[0]); } } finally { if(read!=null) read.Close(); if(conexion!=null) conexion.Close(); } } }
Para insertar datos a la tabla.
Código
public static void Main(string[] args) { //Establecemos conexion conexion.ConnectionString = "Data Source=VerImagen;User Id=User;password=Password;Initial Catalog=NombreDeLaDB;"; //Instaciamos el DataReader donde se guardaran los datos SqlDataReader read=null; try{ String insertar=@" INSERT INTO auto (marca, color, modelo) values("FORD", "VERDE", "2010")"; cargar.ExecuteNonQuery();//Actualizamos. Si miramos en la DB vamos a ver este nuevo registro. } finally { //if(read!=null)// //read.Close();// Como no utilizamos un dataReader este if no iria, ya que no abrimos un reader. if(conexion!=null) conexion.Close(); } } }
De La misma manera que insertamos podemos hacer un UPDATE o un DET, esto dependera de la consulta que enviemos en nuestro string.
Usando el metodo ExecuteScalar();
Código
public static void Main(string[] args) { try{ conexion.Open(); marcaTotal=(int).ExecuteScalar(); } finally { if(conexion!=null) conexion.Close(); } Console.WriteLine("Cantidad de marcas:"+ marcaTotal); }
Código
conexion.ConnectionString = "Data Source=Nombre del Servidor;User Id=User;password=Password;Initial Catalog=NombreDeLaDB";
Si nuestra base de datos como en el caso de la imagen se autentifica con el usuario de windows hay que agregar un parametro mas a nuestra conexion
Código
conexion.ConnectionString = "Data Source=Nombre del Servidor;Initial Catalog=NombreDeLaDB; Trusted_Connection=true";