Update Statement不会更新表

时间:2012-04-29 08:36:53

标签: c# sql sql-update ms-access-2010

我正在尝试更新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());
    }
}

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

1 个答案:

答案 0 :(得分:0)

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

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

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