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