Rellenar de nuevo un dataAdapter
Publicado por Diego Campillo (11 intervenciones) el 20/07/2005 10:13:46
Estoy trabajando un con dataAdapter al que le agrego un dataset, modifico la SQL y pretendo forzar el dataAdapter para la nueva SQL, para ello elimino la tabla anterior agregada al dataAdapter, y con Fill vuelvo a rellenarla, pero me da error.
¿Qué estoy haciendo mal?
Gracias.
string CadenaSQL="";
// Primero averiguamos el tipo de dato del campo de búsqueda
OleDbConnection cnBD;
cnBD = new OleDbConnection(this.CadenaConexion);
OleDbCommand cmd;
cmd = new OleDbCommand();
cmd.CommandText="SELECT * FROM SERVICIO";
cmd.Connection = cnBD;
OleDbDataAdapter da;
da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataSet ds;
ds = new DataSet();
da.Fill(ds, "SERVICIO");
if (ds.Tables["SERVICIO"].Columns[CriterioBusqueda].DataType.ToString() == DbType.Int32.ToString()){
CadenaSQL="SELECT * FROM SERVICIO WHERE " + CriterioBusqueda + " = " + ValorBuscado;
} else if (ds.Tables["SERVICIO"].Columns[CriterioBusqueda].DataType.ToString() == DbType.String.ToString()) {
CadenaSQL="SELECT * FROM SERVICIO WHERE " + CriterioBusqueda + " = '" + ValorBuscado + "'";
}
// Generamos la consulta de nuevo con la SQL y criterio deseado, y esta se devuelve en la llamada.
cmd.CommandText=CadenaSQL;
da.SelectCommand = cmd;
//ds.Tables.Remove("SERVICIO");
ds.Tables.Clear();
da.Fill(ds, "SERVICIO"); <======= ERROR !!!!!! ERROR !!!!!
¿Qué estoy haciendo mal?
Gracias.
string CadenaSQL="";
// Primero averiguamos el tipo de dato del campo de búsqueda
OleDbConnection cnBD;
cnBD = new OleDbConnection(this.CadenaConexion);
OleDbCommand cmd;
cmd = new OleDbCommand();
cmd.CommandText="SELECT * FROM SERVICIO";
cmd.Connection = cnBD;
OleDbDataAdapter da;
da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataSet ds;
ds = new DataSet();
da.Fill(ds, "SERVICIO");
if (ds.Tables["SERVICIO"].Columns[CriterioBusqueda].DataType.ToString() == DbType.Int32.ToString()){
CadenaSQL="SELECT * FROM SERVICIO WHERE " + CriterioBusqueda + " = " + ValorBuscado;
} else if (ds.Tables["SERVICIO"].Columns[CriterioBusqueda].DataType.ToString() == DbType.String.ToString()) {
CadenaSQL="SELECT * FROM SERVICIO WHERE " + CriterioBusqueda + " = '" + ValorBuscado + "'";
}
// Generamos la consulta de nuevo con la SQL y criterio deseado, y esta se devuelve en la llamada.
cmd.CommandText=CadenaSQL;
da.SelectCommand = cmd;
//ds.Tables.Remove("SERVICIO");
ds.Tables.Clear();
da.Fill(ds, "SERVICIO"); <======= ERROR !!!!!! ERROR !!!!!
Valora esta pregunta
0