Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.013 c