|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.01.2009, 04:22 | #1 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 79
|
арод помогите с запросом на Insert в TQuery
Нужна помощь в формировании запроса на вставку в таблицу(pers) неких данных(temp) для некого пользователя (user)
Запрос выходит следущий: Query1->SQL->Clear(); Query1->SQL->Text = "INSERT INTO dbo.pers (temp) VALUES (:temp) WHERE user = :user"; QueryEDP->Params->ParamByName("user")->Value = Label1->Caption; QueryEDP->Params->ParamByName("temp")->Value = Label2->Caption; QueryEDP->ExecSQL(); Однако при выполнении запроса выскакивает ошибка на неправильный синтаксис возле WHERE. Если я чего-то не заметил, то в чем ошибка? |
07.01.2009, 14:37 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Да что ж вы одни и те же имена-то даете?
Ну назовите хотя бы первый параметр по-другому... Ну, например, "myuser". Голову ж сломать можно - куда ни плюнь, везде "user", и попробуй догадайся, то ли это имя поля, то ли это имя параметра, то ли еще что-нибудь другое... У вас что - фантазии не хватает разные имена переменным присвоить? |
07.01.2009, 15:19 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
mihali4, +1
а ещё у меня вызывает сильные подозрения строчка: INTO dbo.pers (temp) VALUES (:temp) по двум причинам: 1) одинаковые имена у поля в таблице БД и у переменной. 2) в таблице dbo.pers точно есть поле TEMP ?! |
07.01.2009, 16:27 | #4 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
user = @user";[/B]
вот тут по ходу косяк a параметр не с собакой передается????
вступлю в команду разработчиков ПО на Delphi
Последний раз редактировалось maladoy; 07.01.2009 в 16:31. Причина: не доглядел!!!! |
07.01.2009, 16:29 | #5 |
Форумчанин
Регистрация: 29.06.2008
Сообщений: 603
|
|
08.01.2009, 00:20 | #6 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 79
|
temp и user параметры - тут косяков не может быть
относительно слов михалыча- как не понять того, что в Values ":temp" означает некий параметр, который в дальнейшем определяет значение поля temp. Вообще параметры взяты произвольно- если не понятен запрос предыдущий напишу по-другом(может так будет понятней): QueryEDP->SQL->Clear(); QueryEDP->SQL->Text = "INSERT INTO dbo.pers (pole) VALUES (ole_param) WHERE user = :user_param"; QueryEDP->Params->ParamByName("user_param")->Value = Label1->Caption; QueryEDP->Params->ParamByName("pole_param")->Value = Label2->Caption; QueryEDP->ExecSQL(); pole - поле в таблице куда нужно сделать insert значения pole_param; pole_param - параметр, заданное значение которого нужно вставить в поле "pole" таблицы "dbo.pers" для конкретного пользователя, имя которого определяется значением параметра user_param; user - поле в таблице "dbo.pers", в ктором содержатся имена пользователей. user_param - параметр задает имя пользователя, для которого должна производиться вставка данных. Последний раз редактировалось xxxsas; 08.01.2009 в 00:24. |
08.01.2009, 00:45 | #7 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
И что за имя таблицы такое - dbo.pers ? И наконец - какой диалект SQL пользуем, от какой СУБД? |
|
08.01.2009, 01:12 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
mihali4, я думаю, что всё, в конце концов, сведётся к тому, что на таблице висит какой-нибудь констрейн/форегн_кей/триггер, который не позволяет добавлять данные..
или, банально, в таблице есть primary key, который не заполняется, или поля NOT NULL.... хотя, Ваше желание разобраться в проблеме и помочь, безусловно, заслуживает уважения! респект!... |
08.01.2009, 01:39 | #9 |
Пользователь
Регистрация: 16.11.2008
Сообщений: 79
|
dbo.pers - таблица MSSQL SERVER 2000
Думаю просто ошибочно добавлять WHERE в оператор INSERT - банальная ошибка... Спасибо народ, что помогали разбираться. |
08.01.2009, 02:26 | #10 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с запросом | Viper666 | Microsoft Office Access | 2 | 14.05.2008 22:35 |
Помогите с запросом | Айвенго | Microsoft Office Access | 3 | 08.05.2008 09:07 |
Помогите с запросом | Blackmore | БД в Delphi | 3 | 07.05.2008 01:18 |
Insert в TQuery из библиотеки | langerhed | БД в Delphi | 2 | 01.11.2007 08:10 |
помогите с запросом | 9-11 | БД в Delphi | 4 | 20.11.2006 10:04 |