|
 |
aspx_espanol thread: Rehacer consultas
Message #1 by "Jorge L. Beker" <jorgito@n...> on Mon, 25 Feb 2002 20:49:43 -0300
|
|
Amigos, tengo este codigo, el problema es el siguiente:
Si quiero llenar el dataset (es un typed dataset), deberia hacer una
consulta por tabla...pero la cosa es que con estas lineas, como reutilizo mi
objeto SqlDataApadater sin tener que declarar otro? O sea, cerrarlo y volver
a usarlo.
ElDataset ds = new ElDataset();
System.Data.SqlClient.SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql,
connstr);
sqlAdapter.Fill(ds,"inventario");
Message #2 by Raymundo Limon <raymty@y...> on Mon, 25 Feb 2002 16:18:33 -0800 (PST)
|
|
Lo que puedes hacer es crear una clase que te regrese
dos objetos: o un DataSet o un OleDbDataReader.
/// <summary>
/// Este método ejecuta un query y puede regresar
dos tipos de recordset: DataSet para los desconectados
y OleDbDataReader para los conectados (default)
/// </summary>
/// <param name="strComando">El query a
ejecutar</param>
/// <returns>El objeto recordset regresado (puede
ser cualquiera de los dos tipos antes
mencionados)</returns>
public object AbreResultado(string strComando)
{
OleDbConnection objConexion;
OleDbDataAdapter objComandoDesconectado;
DataSet objRecordsetDesconectado;
OleDbCommand objComandoConectado;
OleDbDataReader objRecordsetConectado;
if(m_objConexion == null)
{
objConexion = ObtenConexion();
}
else if(m_objConexion.State ==
System.Data.ConnectionState.Closed)
{
objConexion = ObtenConexion();
}
else
{
objConexion = m_objConexion;
}
objComandoConectado = new OleDbCommand(strComando,
objConexion);
objComandoConectado.CommandTimeout
m_intCommandTimeout;
if(m_blnDesconectado)
{
objComandoDesconectado = new
OleDbDataAdapter(objComandoConectado);
objRecordsetDesconectado = new DataSet();
objComandoDesconectado.Fill(objRecordsetDesconectado);
return objRecordsetDesconectado;
}
else
{
if(m_blnCierraConexionAlCerrarRecordsets)
objRecordsetConectado
objComandoConectado.ExecuteReader(CommandBehavior.CloseConnection);
else objRecordsetConectado
objComandoConectado.ExecuteReader();
return objRecordsetConectado;
}
}
__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com
Message #3 by "Jorge L. Beker" <jorgito@n...> on Mon, 25 Feb 2002 21:25:43 -0300
|
|
No hay alguna otra manera????????? En asp hago asi
set conn = conn.open(dsn)
set rs= conn.execute(sql)
rs.close
set rs=conn.execute(sql)
y con eso ya lo reiutilizo................como hago algo asi con el .NET?
"Raymundo Limon" <raymty@y...> wrote in message
news:150388@a..._espanol...
>
> Lo que puedes hacer es crear una clase que te regrese
> dos objetos: o un DataSet o un OleDbDataReader.
>
>
>
>
>
>
> /// <summary>
> /// Este método ejecuta un query y puede regresar
> dos tipos de recordset: DataSet para los desconectados
> y OleDbDataReader para los conectados (default)
> /// </summary>
> /// <param name="strComando">El query a
> ejecutar</param>
> /// <returns>El objeto recordset regresado (puede
> ser cualquiera de los dos tipos antes
> mencionados)</returns>
> public object AbreResultado(string strComando)
> {
> OleDbConnection objConexion;
> OleDbDataAdapter objComandoDesconectado;
> DataSet objRecordsetDesconectado;
> OleDbCommand objComandoConectado;
> OleDbDataReader objRecordsetConectado;
>
> if(m_objConexion == null)
> {
> objConexion = ObtenConexion();
> }
> else if(m_objConexion.State ==
> System.Data.ConnectionState.Closed)
> {
> objConexion = ObtenConexion();
> }
> else
> {
> objConexion = m_objConexion;
> }
>
> objComandoConectado = new OleDbCommand(strComando,
> objConexion);
> objComandoConectado.CommandTimeout
> m_intCommandTimeout;
>
> if(m_blnDesconectado)
> {
> objComandoDesconectado = new
> OleDbDataAdapter(objComandoConectado);
> objRecordsetDesconectado = new DataSet();
>
> objComandoDesconectado.Fill(objRecordsetDesconectado);
> return objRecordsetDesconectado;
> }
> else
> {
> if(m_blnCierraConexionAlCerrarRecordsets)
> objRecordsetConectado
> objComandoConectado.ExecuteReader(CommandBehavior.CloseConnection);
> else objRecordsetConectado
> objComandoConectado.ExecuteReader();
> return objRecordsetConectado;
> }
> }
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Sports - Coverage of the 2002 Olympic Games
> http://sports.yahoo.com
>
>
|
|
 |