Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.22;
Скачать: CL | DM;

Вниз

Sql запрос   Найти похожие ветки 

 
DelphiNew ©   (2003-09-02 09:50) [0]

Существует вот такой запрос

IBQInsNakl.SQL.Clear;
IBQInsNakl.SQL.Add("insert into view_1500524 (NAMECODE, GROUPCODE, DocNumb)");
IBQInsNakl.SQL.Add("values (:NAMECODE, 0, " +Pref+ "||gen_id (NAKLTARA,1)");
FrmFirst.IBQInsNakl.ExecSQL;

Pref - переменная стрингового типа
Выдаётся ошибка Unexpexted end of coomand
Что неправильно?


 
Nikolay M. ©   (2003-09-02 09:51) [1]

Пробел перед values поставь.


 
Zacho ©   (2003-09-02 09:52) [2]

Закрывающую скобку пропустил


 
DelphiNew ©   (2003-09-02 09:59) [3]

2 Nikolay M.
Всё равно не проходит

2 Zacho
Где, не вижу


 
Zacho ©   (2003-09-02 10:02) [4]

IBQInsNakl.SQL.Add("values (:NAMECODE, 0, " +Pref+ "||gen_id (NAKLTARA,1) )");


 
Dush   (2003-09-02 10:03) [5]

IBQInsNakl.SQL.Add("values (:NAMECODE, 0, " +Pref+ "||gen_id (NAKLTARA,1) )");


 
DelphiNew ©   (2003-09-02 10:03) [6]

Люди спасибо извините затакую глупость


 
DelphiNew ©   (2003-09-02 10:19) [7]

Можно ещё один вопрос в этой строке
IBQInsNakl.SQL.Add("values (:NAMECODE, 0, " +Pref+ "||gen_id (NAKLTARA,1))");
нужно чтобы результат переменной Pref находился в кавычках т.е в конечном счёте должно получится так
("values (:NAMECODE, 0, "Result"||gen_id (NAKLTARA,1))
Как это сделать программно. Если поставить так
..+"+Pref+"+...
То Pref оказывается не как переменная а как простой текст


 
Sergey13 ©   (2003-09-02 10:23) [8]

2DelphiNew © (02.09.03 09:50)
insert into view_1500524
Это ты так таблицы обзываешь?


 
HSolo ©   (2003-09-02 10:23) [9]

IBQInsNakl.SQL.Add("values (:NAMECODE, 0, """ +Pref+ """||gen_id (NAKLTARA,1))");


 
DelphiNew ©   (2003-09-02 10:24) [10]

2 Sergey13
Да


 
DelphiNew ©   (2003-09-02 10:27) [11]

2HSolo
Всё равно +Pref+ выделяется как текст


 
Sergey13 ©   (2003-09-02 10:48) [12]

2DelphiNew © (02.09.03 10:27) [11]
>Да
Странная практика. Вспомнился анекдот.
-Вот говорят нельзя давать пароли по имени любимых животных. А я так привык звать своего кота WpQ46zIP9. 8-)

Я чего спросил то. view - обычно представление а не таблица. Ну да дело твое.

>Pref - переменная стрингового типа
>нужно чтобы результат переменной Pref находился в кавычках т.е
>в конечном счёте должно получится так
>("values (:NAMECODE, 0, "Result"||gen_id (NAKLTARA,1))

А что в ей сидит можно глянуть? И как ты ее собираешся сложить со значением генератора (интежер помнится)?


 
DelphiNew ©   (2003-09-02 10:58) [13]

Таблицы называю не я.
Pref -это префикс в номере накладной который задаётся пользователем в настройке. Номер генерируется генератором NAKLTARA.Например в настройках задали префикс НПК
и вконечном результате номер накладной должен выглядеть так:НПК123


 
DelphiNew ©   (2003-09-02 11:01) [14]

К слову о названиях таблиц
Существует готовая база данных готорая работает под управлением
ТЕКТОН сам Тектон создаёт базу. А япишу просто клиентские приложения для этой базы


 
Sandman25 ©   (2003-09-02 11:05) [15]

Pref замените на AnsiQuotedStr(Pref)


 
gsvserg ©   (2003-09-02 11:08) [16]

IBQInsNakl.SQL.Add("values (:NAMECODE, 0, "" +Pref+ ""||gen_id (NAKLTARA,1))"


 
DenK_vrtz ©   (2003-09-02 11:08) [17]

IBQInsNakl.SQL.Add("values (:NAMECODE, 0, "+chr(39)+Pref+chr(39)+"||gen_id (NAKLTARA,1))");


 
Sergey13 ©   (2003-09-02 11:10) [18]

2DelphiNew © (02.09.03 10:58) [13]
>Таблицы называю не я.
Проехали. Я усомнился, ты развеял мои сомнения.

>Например в настройках задали префикс НПК
и вконечном результате номер накладной должен выглядеть так:НПК123
Ну дык как ты предполагаешь складывать число и строку?


 
Sergey13 ©   (2003-09-02 11:14) [19]

>Ну дык как ты предполагаешь складывать число и строку?
Поторопился. В запросе вроде "складывается". 8-) Проверял на Оракле, ИБ под рукой нет.


 
DelphiNew ©   (2003-09-02 12:39) [20]

2Sandman25
Что это даст?


 
Zacho ©   (2003-09-02 12:42) [21]

Ничего не понял. Что такое Pref ? Переменная типа string ? Тогда см. Sandman25 © (02.09.03 11:05) [15]


 
DelphiNew ©   (2003-09-02 12:45) [22]

2gsvserg
Неработает выдаёт ошибку Missing Simikolon


 
DelphiNew ©   (2003-09-02 12:48) [23]

2DenK_vrtz
выдаётся ошибка validation error for column NAMECODE, value "*** null ***"


 
Danilka ©   (2003-09-02 12:51) [24]

DelphiNew © (02.09.03 12:48)
:)))
скажи, плиз, как ты умудрился привязать эту ошибку к кавычкам? там, вроде, NAMECODE упоминается?


 
Zacho ©   (2003-09-02 12:51) [25]


> DelphiNew © (02.09.03 12:48) [23]

Дык, :NAMECODE - у тебя параметр, перед выполнением запроса параметрам вообще-то надо присвоить значения :-)


 
Danilka ©   (2003-09-02 12:56) [26]

тебе для Pref дали 3 работающих кода:
HSolo © (02.09.03 10:23)
DenK_vrtz © (02.09.03 11:08)
Sandman25 © (02.09.03 11:05)
Все три варианта дают одинаковый результат, есть и четвертый вариант. Тебе осталось выбрать любой по вкусу и присвоить что-то в NAMECODE.
:))


 
Danilka ©   (2003-09-02 13:00) [27]

Zacho © (02.09.03 12:51)
краткость - сестра таланта :))


 
DenK_vrtz ©   (2003-09-02 13:13) [28]

Да! Скажи мне имя параметра, и я скажу какая ошибка у тебя вылезет! :-)


 
DelphiNew ©   (2003-09-02 14:17) [29]

Вот полностью код процедуры значение параметру NAMECODE у меня присвоенно

FrmFirst.IBQInsNakl.Close;
FrmFirst.IBSNameCode.ExecProc;
nc:=FrmFirst.IBSNameCode.Params[0].AsInteger;
FrmFirst.IBQInsNakl.ParamByName("NAMECODE").AsInteger:=nc;
FrmFirst.IBQInsNakl.ExecSQL;
IBQInsNakl.SQL.Clear;
IBQInsNakl.SQL.Add("insert into view_1500524 (NAMECODE, GROUPCODE, DocNumb)");
IBQInsNakl.SQL.Add(" values (:NAMECODE, 0,"+chr(39)+Pref+chr(39)+"||gen_id (NAKLTARA,1))");
FrmFirst.IBQInsNakl.ExecSQL;


 
Zacho ©   (2003-09-02 14:20) [30]

Если получаешь ошибку validation error for column NAMECODE, value "*** null ***" - значит, в параметре :NAMECODE у тебя оказался NULL. Проверь.


 
DelphiNew ©   (2003-09-02 14:26) [31]

Правда, параметр Namecode пуст но почему не происходит присвоения. В строке
FrmFirst.IBQInsNakl.ParamByName("NAMECODE").AsInteger:=nc;
переменная nc содержит не нулевое значение, но это значение не присваевается параметру NAMECODE почему???


 
Danilka ©   (2003-09-02 14:33) [32]

DelphiNew © (02.09.03 14:26)
после того, как ты сделал:
IBQInsNakl.SQL.Clear;
твои параметры умерли.
после того как ты сделал:
IBQInsNakl.SQL.Add(" values (:NAMECODE, 0,"+chr(39)+Pref+chr(39)+"||gen_id (NAKLTARA,1))");
у тебя авт. создался пустой параметр с именем NAMECODE
поставь строчку:
FrmFirst.IBQInsNakl.ParamByName("NAMECODE").AsInteger:=nc;
перед
FrmFirst.IBQInsNakl.ExecSQL;


 
DenK_vrtz ©   (2003-09-02 14:33) [33]

"Я все понял. Это не правильные пчелы, и они готовят неправильный мед" (с)

А параметр = null потому, что FrmFirst.IBQInsNakl не знает, что у него есть такой параметр. См. свой код!


 
DelphiNew ©   (2003-09-02 14:50) [34]

Всё получилось!!!! спасибо за терпение!!!



Страницы: 1 вся ветка

Текущий архив: 2003.09.22;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.017 c
3-71488
Жорж
2003-09-01 16:34
2003.09.22
Базы данных


1-71668
Федор
2003-09-11 18:45
2003.09.22
Пара вопросов по кнопкам...


7-71970
bloodman
2003-07-08 21:23
2003.09.22
HOOk & DLL


14-71829
raiv
2003-09-02 08:49
2003.09.22
Установка компонентов


3-71524
Anton_2003
2003-08-30 00:17
2003.09.22
Расширенный поиск по базе