Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 Delphi и ADO
Кто-нибудь писал запросыв Delphi? Почему-то вылезает ошибка: неправильный символ команды Insert into.

str := 'INSERT INTO prihod (code_tov, code_mag, count, date_tov) VALUES (2, 1, 1, "2/2/2008");';
DataModule3.ADOQuery1.SQL.Text := str;
DataModule3.ADOQuery1.Open;

Используется БД Access 2007

Подскажите, что здесь не так. Заранее спасибо! :?: :?: :?:

 Re: Delphi и ADO
neznakomka писал(а):
str := 'INSERT INTO prihod (code_tov, code_mag, count, date_tov) VALUES (2, 1, 1, "2/2/2008");';

В конце запроса не нужна точка с запятой. Попробуйте заменить на
Цитата:
str := 'INSERT INTO prihod (code_tov, code_mag, count, date_tov) VALUES (2, 1, 1, "2/2/2008")';

 
не помогает, ошибка таже :(

 
Аватара пользователя
Поэкспериментируйте. Например, начните с
Код:
INSERT INTO prihod (code_tov) VALUES (2)
и посмотрите, что получится.
Может быть, ему "2/2/2008" не нравится, '2/2/2008' подавай? Или вместо 2, 1, 1 надобно '2', 1, '1' ?
(не забывайте, что одинарные кавычки внутри строки нужно удваивать).

 
Аватара пользователя
Вы пытаетес добавить записи в объект prihod ,состоящий из 4х столбцов.,им присваиваете значения 2, 1, 1, "2/2/2008". Может, с типами столбцов несоответствие?
Можете код ошибки сказать?

 
В таблице prihod 5 полей:
id - счётчмк
code_tov, code_mag, count - целые числа
date_tov - дата/время

Пытаюсь писать так:
str := 'Insert into prihod (code_tov, code_mag, count, date_tov)VALUES (2, 1, 1, 2/2/2008);';

В аксесе работает, а в делфи нет(((

При выполнении пишет "Ошибка синтаксиса в инструкции insert into"
Все варианты с кавычками перепробовала - не помогает :?: :?:

 
Аватара пользователя
neznakomka писал(а):
В таблице prihod 5 полей:
id - счётчмк
code_tov, code_mag, count - целые числа
date_tov - дата/время

Пытаюсь писать так:
str := 'Insert into prihod (code_tov, code_mag, count, date_tov)VALUES (2, 1, 1, 2/2/2008);';

В аксесе работает, а в делфи нет(((

При выполнении пишет "Ошибка синтаксиса в инструкции insert into"
Все варианты с кавычками перепробовала - не помогает :?: :?:

Какая версия Делфи у Вас?
Имеется ли у ошибки номер, ну типа :"Ошибка синтаксиса в инструкции insert into ****" ?

 
Delphi 7
Acces 2007

Я что-то не вижу никакого номера у ошибки. Программа полностью умирает.

 
Аватара пользователя
neznakomka писал(а):
Delphi 7
Acces 2007

Я что-то не вижу никакого номера у ошибки. Программа полностью умирает.

В каком смысле умирает? Встаёт на процессе отладки?
Если это так, попробуйте сократить запрс, обратившись не к 5ти, а к одному какому-либо столбцу.Если не получиться,можете программу скинуть мне , попробую разобраться, если хотите..?

 
Похоже что-то с типом Дата/время, так как в другую табличку запись благополучно вставляется

 
Аватара пользователя
neznakomka писал(а):
Похоже что-то с типом Дата/время, так как в другую табличку запись благополучно вставляется

Ну вот видите.. :) Поэкспериментируйте с настройками типа Дата/время, и всё получиться...
Кстати, я так понял, что Вы делаете какую-то программу для магазина,если не секрет?

 
не секрет))
Это курсовой по БД
Спасиба за помощь, придётся теперь бороться с датой :)

 
Аватара пользователя
neznakomka писал(а):
не секрет))
Это курсовой по БД
Спасиба за помощь, придётся теперь бороться с датой :)

А чего тут бороться, пришлите прогу мне, разберусь.. :)

 
Уррра!
Беда в том, что я назвала поле Count! А это зарезервированное слово!
Я переименовала и всё заработало :D

 
Аватара пользователя
neznakomka писал(а):
Уррра!
Беда в том, что я назвала поле Count! А это зарезервированное слово!
Я переименовала и всё заработало :D

Молодец! И как я не догадался!!
Кстати, а какой литературой для БД Вы пользуетесь?

 [ Сообщений: 15 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group