0

我正在尝试更新 MS Access 表中的供应商记录,这是 DA 层中的代码:

更新供应商的方法

public static void updateVendor(Vendor aVendor)
{
    try
    {
        String sSQLCommand = "UPDATE Vendor SET VendorID = '" + aVendor.VendorId + "', VendorName = '" + aVendor.Name 
                            + "', AddressNo = '" + aVendor.AddressNo + "', Address = '" + aVendor.Address + "', City = '" 
                            + aVendor.City + "', State = '" + aVendor.State + "', ZipCode = '" + aVendor.Zipcode + "', PhoneNumber = '" 
                            + aVendor.PhoneNumber + "' WHERE VendorID = '" + aVendor.VendorId + "'";

        // Create the command object
        if (aConnection.State == ConnectionState.Closed)
            aConnection.Open();

        OleDbCommand cmd = aConnection.CreateCommand();
        cmd.CommandText = sSQLCommand;
        // Execute the SQL command
        cmd.ExecuteNonQuery();
        aConnection.Close();
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

我没有收到任何错误,但它不会更新表格,所以我不确定它有什么问题,你看到有什么问题吗?

4

1 回答 1

0

Daniel,如果查询执行没有任何错误并且问题是没有更新记录,那么请检查以下数据:

  • VendorID 字段是文本字段,因此如果它在列中的值之前有空格,那么您的查询将不会更新任何内容但会成功执行。

这是可能的,因为访问不会删除文本中前面的空格。

于 2012-04-29T09:41:25.470 回答