Di36o_Salas

AccesoBD

Oct 26th, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Configuration;
  6. using System.Data.SqlClient;
  7. using System.Data;
  8.  
  9. namespace AccesoDatos.Clases
  10. {
  11.     public class AccesoBD
  12.     {
  13.        
  14.         //Atributos del objeto
  15.  
  16.         private String _sqlCadena = "";
  17.  
  18.         //Cadena de caracteres que contiene el String de conexion
  19.         public String SqlCadena
  20.         {
  21.             get
  22.             {
  23.                 if (_sqlCadena == "")
  24.                 {
  25.                     _sqlCadena = Properties.Settings.Default.Bd_Proyecto2.ToString();
  26.                 }
  27.  
  28.                 return _sqlCadena;
  29.             }
  30.         }
  31.  
  32.         //método que abre una conexión con la
  33.         //configuración dada
  34.         public SqlConnection getConection()
  35.         {
  36.             return new SqlConnection(SqlCadena);
  37.         }
  38.  
  39.         //Metodo que ejecuta los procedimientos almacenados
  40.  
  41.         public SqlDataReader ejecutarProcedimiento(String psqlCadena)
  42.         {
  43.             SqlCommand cmd;
  44.  
  45.             //se crea el comando
  46.             cmd = new SqlCommand();
  47.             cmd.Connection = getConection();
  48.  
  49.             //Se le asigna el tipo store procedure al command type
  50.             cmd.CommandType = CommandType.StoredProcedure;
  51.             //Se asigna el parámetro psqlCadena el cual es el nombre del store procedure
  52.             cmd.CommandText = psqlCadena;
  53.  
  54.             //si la conexión no está abierta, se abre
  55.             if (cmd.Connection.State == System.Data.ConnectionState.Closed)
  56.             {
  57.                 cmd.Connection.Open();
  58.             }
  59.             cmd.Connection.Close();
  60.  
  61.             return cmd.ExecuteReader();
  62.         }
  63.  
  64.  
  65.         //Métodos que ejecutan sentencias
  66.         //en la BD
  67.         //método que no devuelve resultados
  68.  
  69.         public void ejecutarSQL(String psqlCadena, List<Parametro> parametros)
  70.         {
  71.             SqlCommand cmd;
  72.             String nombre;
  73.  
  74.             //se crea el comando
  75.             cmd= new SqlCommand();
  76.             cmd.Connection= getConection();
  77.  
  78.             //Se sacan los parametros
  79.             foreach (Parametro objParametro in parametros)
  80.             {
  81.                 nombre= "@" + objParametro.Nombre;
  82.                 cmd.Parameters.AddWithValue(nombre, objParametro.Dato);
  83.                 psqlCadena= psqlCadena.Replace(objParametro.Nombre, nombre);
  84.                
  85.             }
  86.             cmd.CommandText = psqlCadena;
  87.             //si la conexión no está abierta, se abre
  88.             if (cmd.Connection.State == System.Data.ConnectionState.Closed)
  89.             {
  90.                 cmd.Connection.Open();
  91.             }
  92.             cmd.ExecuteNonQuery(); //insert, update, delete
  93.             cmd.Connection.Close();
  94.         }
  95.  
  96.  
  97.  
  98.         //Metodo que devuelve resultados en un DataSet
  99.         public SqlDataReader ejecutarSelect(String pSQL, Parametro[] parametros)
  100.         {
  101.             SqlCommand cmd;
  102.             String nombre;
  103.             SqlConnection conexion= getConection();
  104.             //Se crea el comando
  105.             cmd=  new SqlCommand();
  106.             cmd.Connection = conexion;
  107.  
  108.             //Se sacan los parámetros
  109.             foreach (Parametro objParametro in parametros)
  110.             {
  111.                 nombre = String.Format("@{0}", objParametro.Nombre);
  112.                 cmd.Parameters.AddWithValue(nombre, objParametro.Dato);
  113.                 pSQL = pSQL.Replace(objParametro.Nombre, nombre);
  114.             }
  115.  
  116.             cmd.CommandText = pSQL;
  117.  
  118.             //si la conexión no está abierta, se abre
  119.             if (cmd.Connection.State == System.Data.ConnectionState.Closed)
  120.             {
  121.                 cmd.Connection.Open();
  122.             }
  123.  
  124.             return cmd.ExecuteReader();
  125.         }
  126.  
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment