![]() |
|
Модераторы: gambit |
![]()
|
|
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Пытаюсь внести новую запись в таблицу Access. Создаю соединение через провайдера OleDb, все, как полагается. Пробую записывать в адаптер команды выборки - все хорошо, выбирается правильно. Хотел вставить новую запись. И тут начались проблемы. Я не понимаю, как заставить адаптер выполнить мой запрос.
Вот код метода для обработки поступающего запроса:
Т.е. в нашем случае, если я выполняю команду INSERT (встроенный тип QueryType.Insert), то выполняется переключатель switch, в адаптер помещается команда. А что надо сделать дальше, чтобы команда выполнилась? В MSDN я видел только параметризованные запросы, это не то, что мне нужно, т.к. в InsertCommand подставляется уже верно сформированный запрос, INSERT INTO `Table` VALUES (...), все, как положено. Осталось лишь выполнить. Пробовал _adapter.Execute..., ничего не получается, выдается исключение времени выполнения (что-то типа "Не все параметры заданы"). |
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: нет Всего: 18 |
А _command.ExecuteNonQuery() использовать нельзя?
|
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Я ж говорю, летит исключение "Не все параметры заполнены".
|
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Можете привести пример работающий по вставке строки в базу Access без использования параметризованных запросов?
|
|||
|
||||
| Выхухоль |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 9.10.2008 Где: Ташкент Репутация: нет Всего: 2 |
всегда когда я работал с Access у меня у самого не получалось использовать непараметризованные запросы...
И я не пойму зачем те именно так это делать.. Тебе полюбому в объявление метода придется ставить объект массива параметров, и потом использовать его в запросе, если ты хочешь телать это через этот метод... Или ты можешь написать тектовый парсер чтобы он определял параметры запроса, тип параметров, заносил все это в объект массива параметоров и опять же использовался параметризованный метод.... Это сообщение отредактировал(а) Выхухоль - 3.8.2009, 15:44 |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Получилось все. Оказалось, я просто неправильно составил запрос INSERT INTO. Как всегда, все гениальное просто
Получилось без параметров. Примерно так:
Я попросту упустил из запроса перечисление колонок, только указал имя таблицы и вставляемые значения. Вопрос решен. Это сообщение отредактировал(а) mr.Anderson - 3.8.2009, 23:05 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |