На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Ошибка при добавлении записи в базу данных Access средствами ADO.NET
    Вынес работу с базой данных Access в отдельный класс. При добавлении записи получаю "Ошибка синтаксиса в инструкции INSERT INTO." При загрузке процедуры для вставки строки в базу SQL команду проверил, а вот как проверить эту строку при обновлении таблицы - не знаю. Подскажите, пожалуйста, как найти ошибку и как правильно при работе с таблицами базы отлаживать код.
    Прикреплённый файлПрикреплённый файлMyProgramForum.zip (45,38 Кбайт, скачиваний: 167)
      ExpandedWrap disabled
         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 запрос не правельный получается
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0203 ]   [ 18 queries used ]   [ Generated: 29.03.24, 10:11 GMT ]