Clase para gestionar varios Motores Datos

17/04/2010 - 19:38 por Agustin Cot | Informe spam
Hola, hay o alguien tiene o sabe de una clase para poder gestionar
aprovechado codigo, varias dases de datos
por ejemplo me interesa:
Acces, SQL Express, SQL Server

Gracias
Agustin

Preguntas similare

Leer las respuestas

#6 Agustin Cot
18/04/2010 - 09:38 | Informe spam
gracias

"Aguardientico" <gusgon1 at nospam dot com> escribió en el mensaje
news:%
Hola Agustin,

Si entiendo bien tu pregunta supongo que te sirve Nhibernate
(http://www.hibernate.org/)


Atte.

Gustavo Gonzalez
http://aguardientech.blogspot.com


"Agustin Cot" wrote in message
news:#
Hola, hay o alguien tiene o sabe de una clase para poder gestionar
aprovechado codigo, varias dases de datos
por ejemplo me interesa:
Acces, SQL Express, SQL Server

Gracias
Agustin


__________ Information from ESET NOD32 Antivirus, version of virus
signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com






__________ Information from ESET NOD32 Antivirus, version of virus
signature database 5036 (20100417) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com



Respuesta Responder a este mensaje
#7 Agustin Cot
18/04/2010 - 11:47 | Informe spam
Alberto esto es lo que me gustaria conseguir


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb; // ACCESS
using System.Data.Sql; // SQL EXPRESS o SQL SERVER
using System.Data.SqlClient; // SQL EXPRESS o SQL SERVER

//
// Wapper para automatizar el acceso a DB
// compatible con: MSSQL,ADO.NET, MySQL, Oracle, etc...
//
// nModeSQL
// 0 = MS JET Access v4 o posterior
// 1 = MS SQL Express 2005 o posterior
// 2 = MS SQL SERVER 2005 o posterior
//
//
// PGDBConector v1.10.0419
//
//
namespace PGSoftLib
{
class PGDBConector
{
public static PGConnect(string cConnect,int nModeSQL)
{
switch (nModeSQL)
{
case 0:
OleDbConnection oOleDBConn = new
OleDbConnection(cConnect);

oConnection = oOleDBConn;
oOleDBConn.Open();

break;

case 1:
case 2:
SqlConnection oSQLConn = new SqlConnection();
oSQLConn.ConnectionString = cConnect;

oConnection = oSQLConn;
break;

default:
break;

}



return oConnection ;
}

public static DataSet PGDataSet( ?? oConnect,int nModeSQL)
{
}

etc...
}
}





¿ Puede ser posible ?
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:
"Agustin Cot" wrote in message
news:
Gestionar yo mismo aprovechando el codigo para varios Motores



Pues entonces, justo lo que yo te decía: las interfaces que empiezan
por IDb en System.Data sirven precisamente para hacer lo que pretendes.

Respuesta Responder a este mensaje
#8 Alberto Poblacion
18/04/2010 - 12:14 | Informe spam
"Agustin Cot" wrote in message
news:
Alberto esto es lo que me gustaria conseguir
[...]



Te pongo las modificaciones sobre tu propio código:

// nModeSQL
// 0 = MS JET Access v4 o posterior
// 1 = MS SQL Express 2005 o posterior
// 2 = MS SQL SERVER 2005 o posterior

namespace PGSoftLib
{
class PGDBConector
{


public static IDbConnection PGConnect(string cConnect,int nModeSQL)
{


IDbConnection conexion;
switch (nModeSQL)
{
case 0:


conexion = new OleDbConnection(cConnect);
break;
case 1:
case 2:
conexion = new SqlConnection(cConnect);
default:


throw new Exception("Modo no previsto");
break;
}


conexion.Open();
return conexion;
}

public static List<string> EjemploLeerDatos(IDbConnection conexion,
string sentencia)
{


IDbCommand cmd = conexion.CreateCommad(sentencia);
IDataReader rdr = cmd.ExecuteReader();
List<string> lista = new List<string>();
while (rdr.Read())
{
lista.Add(rdr[0].ToString());
}
rdr.Close();
return lista;
}

etc...
}
}



Ejemplo de uso:

using (IDbConnecion conexion = PGConnect(cadena, modo))
{
List<string> resultados = EjemploLeerDatos(conexion, "Select
campo1 from latabla");
//...
}
Respuesta Responder a este mensaje
#9 Agustin Cot
18/04/2010 - 16:33 | Informe spam
Gracias
Agustin

"Alberto Poblacion"
escribió en el mensaje news:%23ZcD0$
"Agustin Cot" wrote in message
news:
Alberto esto es lo que me gustaria conseguir
[...]



Te pongo las modificaciones sobre tu propio código:

// nModeSQL
// 0 = MS JET Access v4 o posterior
// 1 = MS SQL Express 2005 o posterior
// 2 = MS SQL SERVER 2005 o posterior



namespace PGSoftLib
{
class PGDBConector
{




public static IDbConnection PGConnect(string cConnect,int
nModeSQL)
{


IDbConnection conexion;
switch (nModeSQL)
{
case 0:


conexion = new OleDbConnection(cConnect);
break;
case 1:
case 2:
conexion = new SqlConnection(cConnect);
default:


throw new Exception("Modo no previsto");
break;
}


conexion.Open();
return conexion;
}

public static List<string> EjemploLeerDatos(IDbConnection
conexion, string sentencia)
{


IDbCommand cmd = conexion.CreateCommad(sentencia);
IDataReader rdr = cmd.ExecuteReader();
List<string> lista = new List<string>();
while (rdr.Read())
{
lista.Add(rdr[0].ToString());
}
rdr.Close();
return lista;
}

etc...
}
}



Ejemplo de uso:

using (IDbConnecion conexion = PGConnect(cadena, modo))
{
List<string> resultados = EjemploLeerDatos(conexion, "Select
campo1 from latabla");
//...
}


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida