2014 dxdy logo

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

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




 
 Delphi и ADO
Сообщение26.04.2008, 16:26 
Кто-нибудь писал запросыв 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
Сообщение26.04.2008, 16:36 
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")';

 
 
 
 
Сообщение26.04.2008, 17:39 
не помогает, ошибка таже :(

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

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

 
 
 
 
Сообщение26.04.2008, 20:58 
В таблице 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"
Все варианты с кавычками перепробовала - не помогает :?: :?:

 
 
 
 
Сообщение26.04.2008, 21:00 
Аватара пользователя
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 ****" ?

 
 
 
 
Сообщение26.04.2008, 21:02 
Delphi 7
Acces 2007

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

 
 
 
 
Сообщение26.04.2008, 21:07 
Аватара пользователя
neznakomka писал(а):
Delphi 7
Acces 2007

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

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

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

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

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

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

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

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

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

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

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

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


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