Вставка записей в MDB с помощью OleDB - PullRequest
1 голос
/ 07 октября 2011

Почему это происходит?Коротко и просто на этот раз.О, я подключаюсь к файлу MDB (Access 2007).

Код:

public bool insertRecord(int SR_Number, string Serial_Number, string Model_Number, bool Chargeable, bool Priority, bool Rollback)
    {
        string cmdStr = "INSERT INTO Recovery_CD_Orders ([SR_Number], [Serial_Number], [Model_Number], [Chargeable], [Priority], [Agent_placing_order], [Rollback_reqd]) Values (@SR_Number, @Serial_Number, @Model_Number, @Chargeable, @Priority, @Agent_Placing_Order, @Rollback)";

        OleDbCommand cmd = new OleDbCommand(cmdStr, thisCon);

        cmd.Parameters.AddWithValue("SR_Number", SR_Number);
        cmd.Parameters.AddWithValue("Serial_Number", Serial_Number);
        cmd.Parameters.AddWithValue("Model_Number", Model_Number);
        cmd.Parameters.AddWithValue("Agent_Placing_Order", Environment.UserName);
        cmd.Parameters.AddWithValue("Chargeable", Chargeable);
        cmd.Parameters.AddWithValue("Priority", Priority);
        cmd.Parameters.AddWithValue("Rollback", Rollback);

        cmd.Connection.Open();
        cmd.ExecuteNonQuery();
        cmd.Connection.Close();
        cmd.Dispose();
        return true;
    }

Ошибка:

Data type mismatch in criteria expression.

Таблица:

SR_Number: Number
Serial_Number: Text
Model_Number: Text
Agent_Placing_Order: Text
Chargeable: Yes/No
Priority: Yes/No
Rollback: Yes/No

1 Ответ

0 голосов
/ 07 октября 2011

Трудно сказать из того, что представлено в вопросе.Я подозреваю, что проблема связана с выводом типа AddWithValue.Лучше всего явно объявить типы старомодным способом, так как это скажет доступу, что использовать.

...