Помощь - Поиск - Пользователи - Календарь
Полная версия: работа с Access'ом
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Unknown
Не могу понять, как через программу добавить новую запись в БД...
С БД соединение есть, данные считываются... Пытаюсь добавить данные через insert:
//////insert
string idx = enterprisesDataGridView.Rows[0].Cells[3].Value.ToString();
string p3 = enterprisesDataGridView.Rows[0].Cells[2].Value.ToString();
string p2 = enterprisesDataGridView.Rows[0].Cells[1].Value.ToString();
string p1 = enterprisesDataGridView.Rows[0].Cells[0].Value.ToString();
enterprisesTableAdapter.Insert(p1, p2, p3, idx);

Все проходит без ошибок, но сама БД не изменяется... Или что-то еще надо сделать? Но вроде читал описание инсерта - написано, что он вносит данные непосредственно в БД.

До этого пробовал через написанные заранее запросы/команды (в DataSet.xsd) -
Код
INSERT INTO `Enterprises` (`Name`, `Address_fact`, `Address_off`, `Post_Index`) VALUES (?, ?, ?, ?)

Результат тот же - работает без ошибок, результата нет.

И вот еще: изначально колонка Post_Index была типа number, и после создания инсерта в DataSet.xsd входные параметры созданного метода шли с конца, т.е. сначала индекс, а потом все остальное. В результате вылезала ошибка либо в аксессе, либо в студии (смотря в какой последовательности подавать входные параметры)...

Как правильно - подскажите, пжалста!
Access 2002, MSVS 2008
volvo
По первому:
У тебя Debug или Release-сборка? В Debug-е все изменения производятся с копией БД, в каталоге \Debug
Unknown
е-мае! спасибо большое! )))
а то я читал, что БД сначала копируется, и смотрю - в папке с проектом появилась копия, а оказывается, еще и в Debug копируется... А зачем та копия? которая в папке с проектом.
спасибо еще раз smile.gif
volvo
Цитата
А зачем та копия? которая в папке с проектом.
Чтоб работать с ней в Release-версии.
Unknown
ясно, а почему в генерируемом методе TableAdapter'а входные параметры идут в порядке отличном от порядка колонок соответствующей таблицы?
Если непонятно объяснил:
текст команды:
Код
INSERT INTO `Enterprises` (`Name`, `Address_fact`, `Address_off`, `Post_Index`) VALUES (?, ?, ?, ?)

в результате получаем метод:
public virtual int InsertQuery(global::System.Nullable<int> Post_Index, string Param2, string Param3, string Param4)

Почтовый индекс первый, хотя должен быть последним.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.