#c# #oledb #jet
#c# #oledb #jet
Вопрос:
Почему это происходит? : -На этот раз коротко и просто. О, я подключаюсь к файлу MDB (доступ 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:
Трудно сказать из того, что представлено в вопросе. Я подозреваю, что проблема связана с выводом типа AddWithValue. Лучше всего явно объявлять типы в стиле старой школы, поскольку это укажет access, что использовать.
Комментарии:
1. Спасибо за это, я на самом деле взял этот код откуда-то еще и пытался его применить. В итоге я использовал . Добавить метод 🙂 Спасибо за указатель!