Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.52 MB
Время: 0.011 c
14-71820
panov
2003-09-01 17:24
2003.09.22
Буду в Москве 03.09-04.09


3-71495
Abikos
2003-09-01 12:56
2003.09.22
Interbase


8-71766
e}{e
2003-05-19 00:29
2003.09.22
Как запретить компоненту двигаться по диагонали?


3-71526
grusty
2003-08-31 15:20
2003.09.22
Locate в ADO...


14-71890
Alex21
2003-09-03 17:18
2003.09.22
Как проследить в какие окна , проги и доки заходил USER





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский