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

ダニエル、クエリがエラーなしで実行され、問題がレコードが更新されないことである場合は、次のデータを確認してください。

  • VendorID フィールドはテキスト フィールドであるため、列の値の前に空白がある場合、クエリは何も更新しませんが、正常に実行されます。

アクセスがテキストの前の空白を削除しないため、これが可能です。

于 2012-04-29T09:41:25.470 に答える