Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.4.244] |
|
Сообщ.
#1
,
|
|
|
Вынес работу с базой данных Access в отдельный класс. При добавлении записи получаю "Ошибка синтаксиса в инструкции INSERT INTO." При загрузке процедуры для вставки строки в базу SQL команду проверил, а вот как проверить эту строку при обновлении таблицы - не знаю. Подскажите, пожалуйста, как найти ошибку и как правильно при работе с таблицами базы отлаживать код.
Прикреплённый файлMyProgramForum.zip (45,38 Кбайт, скачиваний: 168) |
Сообщ.
#2
,
|
|
|
public void insDB(String strTableName, String [] strRecTable, OleDbType [] oleType) { String field = "("; String vopr = "("; Int32 numStrMax = strRecTable.Length; for (Int32 i = 0; i < numStrMax; i++) { field += strRecTable[i]; vopr += "?";//тут нужно отправлять только 2 параметра("Person", "Memo") и if (i < numStrMax - 1)//так как vopr=string.Format("INSERT INTO strTableName(Person, Memo) VALUES ('{0}, '{1}')", Person, Memo); { field += ", "; vopr += ", "; } } field += ")"; vopr += ")"; String strIns = "INSERT INTO " + strTableName + field + " VALUES" + vopr; OleDbCommand insertCmd = new OleDbCommand(strIns, con); da.InsertCommand = insertCmd; for (Int32 i = 0; i < numStrMax; i++) { p = new OleDbParameter("@" + strRecTable[i], oleType[i]); p.SourceColumn = strRecTable[i]; p.SourceVersion = DataRowVersion.Original; insertCmd.Parameters.Add(p); } } У тебя передается 3 параметра и у тебя SQL запрос не правельный получается |