Tutorial C# & ADO.NET & DB

Iniciado por Mr.Blue, 13 Agosto 2011, 21:21 PM

0 Miembros y 1 Visitante están viendo este tema.

Mr.Blue

Tutorial C# & ADO.NET & DB

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 (csharp) [Seleccionar]
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
   SqlConnection conexion = new SqlConnection();
           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
 SqlCommand consulta=new SqlCommand("SELECT * FROM autos", conexion);

 //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 (csharp) [Seleccionar]
       public static void Main(string[] args)
{

           //Establecemos conexion
   SqlConnection conexion = new SqlConnection();
           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")";
SqlCommand cargar=new SqlCommand(insertar, conexion);//pasamos al command el query y la conexion

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 (csharp) [Seleccionar]
       public static void Main(string[] args)
{

try{
conexion.Open();

SqlCommand obtener=new SqlCommand("SELECT count(marca) FROM auto",conexion);

marcaTotal=(int).ExecuteScalar();

    }
    finally
      {

    if(conexion!=null)
      conexion.Close();
    }


  Console.WriteLine("Cantidad de marcas:"+ marcaTotal);
}



                                                                           


Código (csharp) [Seleccionar]
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 (csharp) [Seleccionar]
conexion.ConnectionString = "Data Source=Nombre del Servidor;Initial Catalog=NombreDeLaDB; Trusted_Connection=true";