我无法使用C#中的这句话来更新我的SQL数据库

时间:2019-05-02 08:11:34

标签: c# sql

我正在编写一个程序,用户必须填写一个程序来填充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中,它的工作原理还不错,我总是遇到很多问题

0 个答案:

没有答案