Я записываю программу, которую пользователь должен заполнить DataGridTable и 2 текстовых поля для редактирования счета. Программа выполняет строки, но в базе данных ничего не происходит. Даже в той же функции, если пользователь добавляет больше строк в таблицу данных, они также добавляются в базу данных, и это прекрасно работает, но проблема в обновлении.
Я пробовал несколько типов синтаксиса, но тот же, что и у меня.
Даже несмотря на то, что у меня есть методы Try / catch, он не показывает никаких ошибок или окон, чтобы сказать мне, почему он не работает. Это сводит меня с ума.
SqlDataAdapter daAdaptador2 = new SqlDataAdapter();
foreach (var Linea in Fac.lDetalles)
{
try
{
//adapter.UpdateCommand = command;
daAdaptador2.UpdateCommand = new SqlCommand
("UPDATE factudet SET iLinea = @iLinea, iCantidad = @iCantidad, iPrecioU = @iPrecioU, " +
"iImporte = @iImporte, sCodigo = @sCodigo, sArticulo = @sArticulo, sDescripcion = @sDescripcion " +
"WHERE iNFactura = " + Fac.iNFactura + " AND iID = " + Linea.iID, cnSqlConex);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@iLinea", Linea.iLinea);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@iCantidad", Linea.iCantidad);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@iPrecioU", Linea.iPrecioU);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@iImporte", Linea.iImporte);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@sCodigo", Linea.sCodigo);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@sArticulo", Linea.sArticulo);
daAdaptador2.UpdateCommand.Parameters.AddWithValue("@sDescripcion", Linea.sDescripcion);
daAdaptador2.UpdateCommand.ExecuteNonQuery();
iDet++;
}
catch (Exception e)
{
MessageBox.Show("Error al editar factura" + "\n" + e.Message + e.Source + e.Data);
}
}
Предполагается обновить строки в таблице, но это не так. Я использую аналогичный синтаксис в той же версии программы, но в Access, и он работает просто отлично, у меня всегда много проблем