|
|
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
У меня возник такой вопрос... Необходимо создать процедуру... я ее создал... в ней содержится как входящие параметры... так и возвращающие данные.... для реализации из клиентской программы.... вызываю Query (объектом) С параметрами работаю так же как и с параметрами в объекте Storedproc... Но невыходит... генерируется ошибка... может кто то знает в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2003, 22:30 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
дык что за ошибка-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2003, 22:41 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
И код хорошобы посмотреть, конечно ели он не секретный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2003, 10:01 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Код процедуры сервера.... CREATE PROCEDURE TEST_STAVKI_ARC ( TIP VARCHAR(10), MES1 SMALLINT, GOD1 SMALLINT, MES2 SMALLINT, GOD2 SMALLINT ) RETURNS ( NPP INTEGER, MES SMALLINT, GOD SMALLINT, NOMST SMALLINT, TIP_ VARCHAR(10), NAZV VARCHAR(50), GOS_STAVKA FLOAT, IZLISHKI FLOAT ) AS BEGIN FOR SELECT STAVKI_ARC_NPP, STAVKI_ARC_MES, STAVKI_ARC_GOD, STAVKI_ARC_NOMST, STAVKI_ARC_TIP, STAVKI_ARC_NAZV, STAVKI_ARC_GOS_STAVKA, STAVKI_ARC_IZLISHKI FROM T_STAVKI_ARC WHERE STAVKI_ARC_TIP=:TIP INTO :NPP, :MES, :GOD, :NOMST, :TIP_, :NAZV, :GOS_STAVKA, :IZLISHKI DO BEGIN IF (((MES1<=MES)AND(GOD1<=GOD))OR(GOD-GOD1>0)) THEN BEGIN IF (((MES2>=MES)AND(GOD2>=GOD))OR(GOD2-GOD>0)) THEN SUSPEND; END END END .............. Код клиента....... ... form1.IBQuery3.sql.Clear; form1.IBQuery3.sql.add('SELECT * FROM TEST_STAVKI_ARC'); form1.IBQuery3.Params.CreateParam(ftString,'TIP',ptInput){.AsString:=stavka}; form1.IBQuery3.params.CreateParam(ftInteger,'MES1',ptInput){.Asinteger:=combobox1.itemindex+1}; form1.IBQuery3.params.CreateParam(ftInteger,'GOD1',ptInput){.Asinteger:=strtoint(edit4.text)}; form1.IBQuery3.params.CreateParam(ftInteger,'MES2',ptInput){.Asinteger:=combobox2.itemindex+1}; form1.IBQuery3.params.CreateParam(ftInteger,'GOD2',ptInput){.Asinteger:=strtoint(edit5.text)}; form1.IBQuery3.execSQL; ... Ошибка такого рода: Dinamic SQL Error Parameter mismatch of procedure TEST_STAVKI_ARC. Собственно вроде все... Прошу помощи.. т.к. сам уже потчи отчаялся =) А отказываться от возвращения данных или входящих данных... Конечно же можно... и обходной путь уже давно найден... Но уж слишком велико желание сделать все по человечески... Спасибо за помощь.... (заранее благодарен) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2003, 22:26 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Забыл дабавить... В компоненте Query параметры обнуляю.... поэтому не в этом дело =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2003, 22:30 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Может как-то так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 04:34 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Всем спасибо!!! Отдельное спасибо Alex_k, бываюж же еще добрые люди =) Судя по всему буду теперь тут чаще... может и я кому полезен буду =) Странно что я сам не понял в чем дело =) еще разок спасибо =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 19:19 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Ненужно мне отдельного спасиба :-) лучше ходи сюда почащще, да помогай людям по мере возможности :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2003, 19:35 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Прошу сразу прощения за поднимаемый вновь вопрос. у меня такая трабла. на сервере ХП CREATE PROCEDURE "sales" ( "in" VARCHAR(40)) RETURNS ( OUT_D VARCHAR(40), OUT_ED INTEGER, OUT_PRICE BIGINT) AS begin select "DENOMINATION","ED","PRICE" from "GOODS" where "DENOMINATION" =: "in" into : "OUT_D","OUT_ED","OUT_PRICE"; end В клиенте. ibquery1.SQL.Clear; ibquery1.SQL.add('select "DENOMINATION","ED","PRICE" FROM "sales" (:"in")'); //S:=ibquery1.SQL.Text; IBQuery1.Params.CreateParam(ftString,'in',ptInput); IBQuery1.Parambyname('in').AsString:='Майка'; IBQuery1.ExecSQL; Delph'я выдает ошибку code -206 Column in unknown. причем я так понимаю что FB не видит параметр, а требует Column. В чем трабла, вроде все же должно работать.? Подскажите.плз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 08:20 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Мда. А сообщения выше не читаем? Там же есть пример. Доступ к параметру по НОМЕРУ. Смотри сообщение от alex_k-а. Причем там именно с параметрами входными. А вообще, если я правлиьно помню, рекомендуется пользоватся компонентами типа TIBSQL, а уж совсем не TIBQuery. Но принцип там точно такой же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 08:44 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
С номером пробывал уже, такая же фигня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 08:53 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
авторС номером пробывал уже, такая же фигня? Поменяй IBQuery на IBSQL для начала и попробуй с номером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 09:09 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Упс, вдогонку- а кто ошибку дает то, Delphi или Firebird, проверь сначала. Может у тебя проблема не в обращении к ХП, а именно в самой ХП, т.е. такой колонки нету. Выполни запрос типа select * from salec('text') и результат глянь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 09:12 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
сделал select * from sales(text) text-это string {имя товара-майка} ошибка EIBinterbaseerror -206 column text unknown. XП в эксперте работает. выдает заданные значения, а с клиента не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 09:50 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Ну ды. проблема то в скрипте тогда, а не в компонентах. Параметр тут совершенно не при чем. Диалект какой? Да и вроде у IBE есть такой параметр как "Приводить наименования обьектов в верхний регистр". Хотя сомнительно, т.к. в ковычках вроде бы, но я вообще никогда ковычками не пользуюсь, лучше уж поиметь регистронезависимые поля, чем мучатся потом с похожими проблемами если вдруг что-то не так напишешь. Попробуй выполнить простой селект который в процедуре стоит из приложения. Пройдет или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 10:03 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
а как поиметь регистронезависимые поля? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 10:08 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Господа, хватит бреда про обращение к параметрам по номеру, про CreateParam и прочее ! >Автору Параметр :in - это свойство объекта IBQuery1 никакого !!! отношения к ХП не имеющего ! А значит ibquery1.SQL.add('select "DENOMINATION","ED","PRICE" FROM "sales" (:in)'); IBQuery1.Parambyname('in').AsString:='Майка'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 11:00 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Код, который был Код: plaintext 1. 2. 3. 4. Предлагаю попробовать Код: plaintext 1. 2. 3. 4. ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 11:04 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Млин. Смятся будете ВСЕ :-))) Посмотрите названия параметров выходных у ХП и в запросе. Еще раз млин. Потянуло не туда. автор RETURNS( OUT_D VARCHAR(40), OUT_ED INTEGER, OUT_PRICE BIGINT) А запрос автор select "DENOMINATION","ED","PRICE" FROM .... И я тоже баран... Мда. 2sh'ors - выходные параметры должны быть указаны в запросе с ТЕМИ же именами что и в ХП. Вот собственно и вся проблема. Конечно "Column in unknown. ". А по поводу того запроса что приводил в селекте обычном - что такое text? Нужно было как я писал делать, т.е. дать явно значение в ковычках, тогда узнал бы точ процедура работает. Вот тебе Дельфя и ругается естественно - "что такое text". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 11:20 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Последнее то же не работает, та же ошибка про параметр. И что интересно пишу в запросе всякую хрень , а ругается на неизвестный параметр in example: 'select "DENOMINATвавIOED","PRICE" FROM "sales" (:in)'. ерунда какая то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 11:22 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
>sh'ors После прописки текста запроса и перед присвоением значения параметру надо определить параметры параметра :) А в запросе просто SELECT * ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 11:35 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
>Johnmen разве этим, я не определяю параметр: IBQuery1.params.CreateParam(ftString,'in',ptInput); IBQuery1.Parambyname('in').AsString:='Майка'; тогда как определить параметр параметра? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 12:06 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
>sh'ors IBQuery1.SQL.Text:= IBQuery1.ParamByName('in').ParamType:= IBQuery1.ParamByName('in').DataType:= IBQuery1.Parambyname('in').AsString:='Майка'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 12:22 |
|
||
|
Интересный вопрос.... про процедуры..
|
|||
|---|---|---|---|
|
#18+
Те же яйца тока вид сбоку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2004, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32444805&tid=1579017]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 510ms |

| 0 / 0 |
