Ejecutar sentencia SQL

27/11/2008 - 02:51 por Darhas | Informe spam
Hola a todos
¿¿¿Me podriais indicar que me falta para ejecutar mi sentencia SQL???

Y otra pregunta, Si quiero hacer un Select tambien funciona de la misma
manera, quiero decir, el mismo codigo cambiando la sentencia SQL, y donde me
devuelve la consulta????


Un saludo y gracias por todo
Darhas
-
OleDbConnection cnn;
OleDbDataAdapter cmd;
string sql;
sql = "INSERT INTO TNumeros(Antes, Numero, Despues, TipoNumero) VALUES
(tAntes.Text, tNumero.Text, tDespues.Text, tTipoNumero.Text);";
cnn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+
(@"_Ficheros\pepe.mdb") + ";");
cmd = new OleDbDataAdapter(sql, cnn);
cnn.Open();
- ¿¿¿¿Aqui que pongo para ejecutar mi sentencia SQL????
cnn.Close();
 

Leer las respuestas

#1 Alberto Poblacion
27/11/2008 - 08:13 | Informe spam
"Darhas" wrote in message
news:
Hola a todos
¿¿¿Me podriais indicar que me falta para ejecutar mi sentencia SQL???

Y otra pregunta, Si quiero hacer un Select tambien funciona de la misma
manera, quiero decir, el mismo codigo cambiando la sentencia SQL, y donde
me
devuelve la consulta????


Un saludo y gracias por todo
Darhas
-
OleDbConnection cnn;
OleDbDataAdapter cmd;
string sql;
sql = "INSERT INTO TNumeros(Antes, Numero, Despues, TipoNumero) VALUES
(tAntes.Text, tNumero.Text, tDespues.Text, tTipoNumero.Text);";
cnn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data
Source="+
(@"_Ficheros\pepe.mdb") + ";");
cmd = new OleDbDataAdapter(sql, cnn);
cnn.Open();
- ¿¿¿¿Aqui que pongo para ejecutar mi sentencia SQL????
cnn.Close();





Tal como lo tienes escrito está pensado para una SELECT y no para una
INSERT. EL OleDbDataAdapter lo que hace es llenar un DataSet, cuando llamas
a su método Fill. En otras palabras, en el hueco que has dejado meterías
esto:

DataSet ds = new DataSet();
cmd.Fill(ds);

Y los registros te los dejaría en un DataTable dentro de "ds". Pero, como te
digo, esto es para una SELECT.


Para ejecutar la INSERT, te interesa usar un OleDbCommand en lugar del
OleDbDataAdapter. Su método ExecuteNonQuery se utiliza para ejecutar la
sentencia sin esperar ningún resultado devuelto por ésta:

sql = "INSERT .";
cnn = new OleDbConnection("");
cmd = new OleDbCommand(sql, cnn);
cnn.Open();
cmd.ExecutNonQuery();
cnn.Close();

Preguntas similares