2016-01-04 3 views
0

У меня есть простой пользовательский интерфейс для базы данных инвентаря. Операция будет вставляться, редактировать существующую, просматривать сетку данных и т. Д. ... В инвентаре содержится всего 4 поля. Оператор insert, который я использую, работает, но если одна из записей не имеет значения, то при попытке вставки появляется ошибка.C# вставить в базу данных Access

«несоответствие типов данных в выражении критериев»

command.CommandText = "insert into Inventory(SerialNumber,PartNumber,ROnumber,Location) 
    values ('" + txtPart.Text + "','" + txtSerial.Text + "','" + 
    txtRO.Text + "','" + txtLocation.Text + "')"; 

Я предполагаю, что это потому, что код должен значение для каждого поля, так как я получаю вокруг этого вопроса ?.

+0

Все ли эти строки данных в таблице базы данных? Если нет, я думаю, вам не нужны одиночные кавычки, содержащие переменные .. также, если в каком-либо из ваших полей нет данных, вы можете передать нулевые значения (при условии, что поля имеют значение NULL в таблице). – vmachan

+0

убедитесь, что поле не является пусто? – Webster

+0

Ха! @ Webster ,,, вы продаете билеты? – CamlCase

ответ

1

Фактически, когда вы пытаетесь использовать этот запрос, вы сказали, что первым параметром является SerialNumber, а затем PartNumber и когда вы передаете его обратное.

command.CommandText = "insert into Inventory(SerialNumber,PartNumber,ROnumber,Location) 
          values ('" + txtPart.Text + "','" + 
             txtSerial.Text + "','" + 
             txtRO.Text + "','" + 
             txtLocation.Text + "')"; 

По этой причине поля вы вступаете имеют различный размер Может быть частью номер больше по размеру, а не SerialNumber или наоборот. Поэтому вы должны изменить его на

command.CommandText = "insert into Inventory(SerialNumber,PartNumber,ROnumber,Location) 
          values ('" + txtSerial.Text + "','" + 
             txtPart.Text + "','" + 
             txtRO.Text + "','" + 
             txtLocation.Text + "')"; 
+0

Спасибо, да, я думаю, когда я их отменил, это вызовет проблему. – CamlCase

Смежные вопросы