Foros del Web » Programación para mayores de 30 ;) » .NET »

Liberar o vaciar un DataSet y un DataAdapter

Estas en el tema de Liberar o vaciar un DataSet y un DataAdapter en el foro de .NET en Foros del Web. Hola a todos. Podeis ayudarme con esto?? Busco la manera de vaciar o liberar estos dos elementos para que a la siguiente vez que pulse ...
  #1 (permalink)  
Antiguo 13/03/2005, 09:08
 
Fecha de Ingreso: febrero-2005
Ubicación: Zaragoza
Mensajes: 12
Antigüedad: 19 años, 1 mes
Puntos: 0
Exclamación Liberar o vaciar un DataSet y un DataAdapter

Hola a todos.
Podeis ayudarme con esto?? Busco la manera de vaciar o liberar estos dos elementos para que a la siguiente vez que pulse el botón funcione de nuevo...
La primera vez carga los datos correctamente, pero la segunda pasa de mi olimpicamente.
Llevo días con esto y no se que más intentar, pleasseeeeee help!!!!!!!
La proxima foto de carnet que me haga va a quedar asi:
Gracias anticipadas

Última edición por Miriamele; 13/03/2005 a las 09:34
  #2 (permalink)  
Antiguo 13/03/2005, 10:06
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Prueba ejecutar el método Clear del DataSet si es que quieres eliminar todas las tablas y datos que contiene éste, también puedes ejecutar éste método en un DataTable:

DataSet1.Clear();
o
DataSet1.Tables["tutabla"].Clear(); // en vb.net sería: DataSet1.Tables("tutabla").Clear()

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 13/03/2005, 10:24
 
Fecha de Ingreso: febrero-2005
Ubicación: Zaragoza
Mensajes: 12
Antigüedad: 19 años, 1 mes
Puntos: 0
Gracias Alex, por fin puedo vaciar el dichoso DataSet.
Por una casualidad podrias echarme una mano?? Es una consulta de usuario por codigo, la primera vez lo hace bien, pero la segunda vez que pulso el boton para que busque otro usuario no hace nada de nada... El codigo es este:
private void btnConUser_Click(object sender, EventArgs e)
{

lblErr.Visible = false;

string sentencia = "SELECT * FROM Usuario WHERE Codigo_user=" + txtCodUser.Text;
OleDbDataAdapter Consulta = new OleDbDataAdapter();
OleDbCommand selectCommand = new OleDbCommand(sentencia, Conexion);
OleDbCommandBuilder ConstComm = new OleDbCommandBuilder(Consulta);
selectCommand.CommandType.GetType();
DataTable Tabla = UserDS.Tables["Usuario"];

try
{
//Establecemos la conexion con la BD
Conexion.Open();
//Ejecutamos el comando
Consulta.BeginInit();

Consulta.SelectCommand = selectCommand;

int numRows = Consulta.Fill(UserDS, "Usuario");
if (numRows > 0)
{
txtDNIUser.Text = Tabla.Rows[0]["DNI_user"].ToString();
txtNombUser.Text = Tabla.Rows[0]["Nombre_user"].ToString();
txtApeUser.Text = Tabla.Rows[0]["Apellidos_user"].ToString();
txtAddressUser.Text = Tabla.Rows[0]["Direccion_user"].ToString();
txtTelUser.Text = Tabla.Rows[0]["Telefono_user"].ToString();
txtPuntosUser.Text = Tabla.Rows[0]["Puntos_user"].ToString();

}
else
{
lblErr.Text = "No se encontró el registro";
lblErr.Visible = true;
}
}
catch (Exception exc)
{
lblErr.Text = "Ocurrió una excepción: " + exc.Message.GetType();
lblErr.Visible = true;
}
finally
{
Conexion.Close();
UserDS.Clear();
Tabla.Clear();

}
}


Gracias por tu ayuda
  #4 (permalink)  
Antiguo 13/03/2005, 11:05
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Te sugiero que utilizes la propiedad RowFilter del DataView para que no hagas consultas a la base de datos con cada usuario que buscas. También puedes utilizar un DataReader, ya que sólo recuperas una tupla de la base de datos.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 13/03/2005, 11:30
 
Fecha de Ingreso: febrero-2005
Ubicación: Zaragoza
Mensajes: 12
Antigüedad: 19 años, 1 mes
Puntos: 0
Lo probaré.
Gracias por tu ayuda, Alex ;)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:08.