Insertar datos en la BD -- DataAdapter.Update

10/10/2006 - 02:06 por Wilson Castañeda | Informe spam
En C#: Estoy usando un DataAdapter para insertar el contenido de un DataSet
en la Base de Datos, con el codigo mostrado lineas abajo. Compila sin
problemas, el DataSet se modifica, pero al realizar el Update al DataAdapter
los datos no se insertan en la Base de Datos. Agradeceré mucho vuestra ayuda.

String conexionStr = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\sapdb.mdf;Integrated
Security=True;User Instance=True";
conexion = new SqlConnection(conexionStr);

String tabla = "clientes";

DataSet ds = new DataSet(tabla);

String query = "SELECT * FROM " + tabla;

SqlDataAdapter da = new SqlDataAdapter(new SqlCommand (query, conexion));
String insertStr = "INSERT INTO "+tabla+(Ruc,RazonSocial) VALUES
(@Ruc,@RazonSocial)";
da.InsertCommand = new SqlCommand(insertStr, conexion);
SqlCommand cmdInsert = daClientes.InsertCommand;

mdInsert.Parameters.Add("@Ruc", SqlDbType.NChar, 11, "Ruc");
cmdInsert.Parameters.Add("@RazonSocial", SqlDbType.NVarChar, 100,
"RazonSocial");

da.FillSchema(ds, SchemaType.Source,tabla);
da.Fill(dsClientes, tabla);

DataRow nuevoCliente = ds.Tables[tabla].NewRow();
nuevoCliente["Ruc"] = rucMaskedTextBox.Text.Trim();
nuevoCliente["RazonSocial"] = razonSocialTextBox.Text.Trim();

ds.Tables[tabla].Rows.Add(nuevoCliente);

if (ds.HasChanges())
{
//Enviar datos del ds a la BD
da.Update(ds, tabla);

MessageBox.Show((ds.Tables["clientes"].Rows[0]["Ruc"]).ToString());
}
conexion.Close();
 

Leer las respuestas

#1 Rafael Cruz
19/10/2006 - 18:18 | Informe spam
Hola creo que el problema es el orden :

"Wilson Castañeda" wrote:

En C#: Estoy usando un DataAdapter para insertar el contenido de un DataSet
en la Base de Datos, con el codigo mostrado lineas abajo. Compila sin
problemas, el DataSet se modifica, pero al realizar el Update al DataAdapter
los datos no se insertan en la Base de Datos. Agradeceré mucho vuestra ayuda.

String conexionStr = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\sapdb.mdf;Integrated
Security=True;User Instance=True";
conexion = new SqlConnection(conexionStr);

String tabla = "clientes";

DataSet ds = new DataSet(tabla);

String query = "SELECT * FROM " + tabla;

SqlDataAdapter da = new SqlDataAdapter(new SqlCommand (query, conexion));
String insertStr = "INSERT INTO "+tabla+(Ruc,RazonSocial) VALUES
(@Ruc,@RazonSocial)";



sqlcommand cmdInsert = new sqlcommand(insertStr, conexion);

SqlCommand cmdInsert = daClientes.InsertCommand;

mdInsert.Parameters.Add("@Ruc", SqlDbType.NChar, 11, "Ruc");
cmdInsert.Parameters.Add("@RazonSocial", SqlDbType.NVarChar, 100,
"RazonSocial");



da.InsertCommand = cmdInsert;

da.FillSchema(ds, SchemaType.Source,tabla);
da.Fill(dsClientes, tabla);

DataRow nuevoCliente = ds.Tables[tabla].NewRow();
nuevoCliente["Ruc"] = rucMaskedTextBox.Text.Trim();
nuevoCliente["RazonSocial"] = razonSocialTextBox.Text.Trim();

ds.Tables[tabla].Rows.Add(nuevoCliente);

if (ds.HasChanges())
{
//Enviar datos del ds a la BD
da.Update(ds, tabla);

MessageBox.Show((ds.Tables["clientes"].Rows[0]["Ruc"]).ToString());
}
conexion.Close();


Preguntas similares