Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает insert в БД(access) 
V
    Опции темы
LastGhost
Дата 28.8.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.8.2010

Репутация: нет
Всего: нет



Добрый день. 
Такая вот проблема... есть mdb файл, селект из него делать получается, а вот Insert работать не хочет, сколько не мучаюсь :(
код вот такой:
Код

string connectionString = "provider=Microsoft.Jet.OLEDB.4.0; data source=D:\\project\\test.mdb";
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
OleDbCommand oleDbCommand = new OleDbCommand();
oleDbCommand.Connection = myOleDbConnection;
oleDbCommand.CommandText = "INSERT INTO table(col) VALUES ('xxx')";
myOleDbConnection.Open();
oleDbCommand.ExecuteNonQuery();
myOleDbConnection.Close();

на строке 7 выдает: "Ошибка синтаксиса в инструкции INSERT INTO."  smile 

//файл test.mdb содержит таблицу table, с двумя колонками key - ключевое поле(счетчик), второе поле col - текстовое поле. (в таблице заполнено пару полей)
//access 2007 (файл сохранен как access 2002-2003)
//код пишется в Visual Studio 2010
PM MAIL   Вверх
m0dest
Дата 28.8.2010, 15:00 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 19.1.2007

Репутация: нет
Всего: нет



А если 5-ую строку заменить на 
Код

oleDbCommand.CommandText = "INSERT INTO table VALUES (123, 'xxx')";

что будет?
PM MAIL   Вверх
LastGhost
Дата 28.8.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.8.2010

Репутация: нет
Всего: нет



 smile 
Спасибо!!! получилось  smile 
PM MAIL   Вверх
Экскалупатор
Дата 28.8.2010, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



все дело что "table" это зарезервированное слово, переименуй его во что нибудь другое и твой запрос будет работать.
а задавать руками значение ключевого поля это как то не правильно....

Добавлено через 1 минуту и 12 секунд
к примеру:
Код

insert into table1 (col) VALUES ('adf');

добавляет строку в таблицу
PM MAIL ICQ   Вверх
LastGhost
Дата 29.8.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.8.2010

Репутация: нет
Всего: нет



таблицу уже переименовал, но выше приведенный пример всеравно не работает... :(
PM MAIL   Вверх
Экскалупатор
Дата 29.8.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



специально проверил, если таблица называется table то выпадает ошибка синтаксиса, как только переименовал в table1(в запросе только не забудь изменить) и сразу все работает.
PM MAIL ICQ   Вверх
LastGhost
Дата 29.8.2010, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.8.2010

Репутация: нет
Всего: нет



хм... странно все это но у меня не работает:(
хотя переименовал и в файлике и в коде..... и таблицу и название калонок, и с пробелами между командой и скобками все варианты перебирал, всеравно не хочет....
ладно, буду задавать ключ.. стремновато конечно, ну да ладноsmile 

спасибо.
PM MAIL   Вверх
Экскалупатор
Дата 29.8.2010, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



не понятно, а можешь выложить архив с базой?
PM MAIL ICQ   Вверх
LastGhost
Дата 29.8.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 28.8.2010

Репутация: нет
Всего: нет



пересоздал БД, переписал программу - все заработало smile так что наверно где-то чето был запоролsmile

Спасибо! 
PM MAIL   Вверх
Экскалупатор
Дата 29.8.2010, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



да не вопрос, но задавать ключ руками это не кошерно...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1051 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.