powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / List index out of bounds(0) - я наверно убью себя...
20 сообщений из 20, страница 1 из 1
List index out of bounds(0) - я наверно убью себя...
    #32191494
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё на этапе собирания формы ошибка возникает

Ложу SQLDataSet на форму ставлю ей проперти:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
object SQLDataSet1: TSQLDataSet
    SQLConnection = SQLConnection1
    CommandText = 'STORE_PRC'
    CommandType = ctStoredProc
    Params = <
      item
        DataType = ftSmallint
        Name = 'aaa'
        ParamType = ptInput
        Size =  4 
        Value = '3'
      end>

после пытаюсь Active включить - результат "List index out of bounds(0)"
Спасите!!! Хоть я и не склонен к суициду, но всякое бывает...
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191525
Steppenwulf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, встроенная процедура возвращает какой-то курсор? если нет, то вместо TSQLDataSet используйте компонент TStoredProc, активизируйте ее методом ExecProc. Не такой изврат, конечно, но хоть в живых останетесь...
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191533
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TStoredProc тоже пробовал - та же фигя

А процедура кстати ничего не возвращает, я ей передать параметр пытаюсь.
Хр. процедура вот такая: procedure st_prc(N in number) параметр ей пытаюсь послать 'aaa' (см выше, в пропертях датасета)
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191557
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный какой-то SmallInt - 'aaa' ?
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191576
Steppenwulf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База какая? не Sybase ASA?
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191577
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
DataType = ftSmallint
Name = 'aaa'
Value = '3'

вроде всё правильно.
Может я вообще не то делаю?
Как выполнить хр. процедуру с параметром?
Если я пытаюсь другую(процедуру без вх. параметров) таким облазом вызвать она мне говорит, мол Cursor not returned from Querry - а мне курсор и не нада совсем!
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191581
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Steppenwulf
база - Oracle
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191590
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то у SP должен быть по-крайней мере еще один параметр - возвращаемое ей значение(return -1 и т.д), хотя для Oracle может это и не так
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191596
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2DarkCat\r
с Ораклом я не работал, но вот был похожий вопрос, может он тебя на что-то натолкнёт\r
/topic/29810
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191598
Фотография Cooper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Темный, тебе чего нада? Можешь толком сказать?

Если ХП должна вернуть набор записей то:

Код: plaintext
1.
2.
3.
adostoredproc3.Parameters.ParamByName('@Имя Параметра').Value:=Значение;
.........
adostoredproc3.Active:=false;
adostoredproc3.Active:=true;


Если просто выполнить ХП, то :

Код: plaintext
1.
adostoredproc3.Parameters.ParamByName('@Имя Параметра').Value:=Значение;
adostoredproc3.execproc;


Такой вариант не устраивает?
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191602
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2DarkCat\r
и вот ещё\r
/topic/35680
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191606
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того, у SP все параметры начинаются с @

Затем попробуй убрать Connection -> Убрать имя SP->Проверить что Parameters пусты->Затем установить Connection->Установить SP->проверить Parameters

Потом не плохо бы знать версию Builder/Dephi...

P.S. Верно для MS
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191608
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда другой вопрос, как правильно эти параметры послать?
я так делаю (синтаксис C++Buildera, но смысл тот же):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
TParam *P1, *P2;  
SQLStoredProc1->StoredProcName =  "ST_PRC" ;
SQLStoredProc1->Params->Clear();
P1 = SQLStoredProc1->Params->CreateParam(ftInteger,  "NNN" , ptInput);
P1->AsInteger = StrToInt(Edit1->Text);
P2 = SQLStoredProc1->Params->CreateParam(ftInteger,  "HHH" , ptOutput);

SQLStoredProc1->ExecProc();
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191616
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай так как я говорю - посмотришь какими они должны быть!
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191633
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri
всё переотключил проверил уже раз 100.
Builder-6, юзаю Oracle через DBExpress

резюмирую:
Процедуры без параметров вызываются так
Код: plaintext
1.
2.
SQLStoredProc1->StoredProcName =  "ST_PRC_без_параметров" ;
SQLStoredProc1->Params->Clear();
SQLStoredProc1->ExecProc();

это работает.
если хочу передать параметр делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
SQLStoredProc1->StoredProcName =  "ST_PRC_с_одним_параметром" ;
SQLStoredProc1->Params->Clear();

TParam *P1;
P1 = SQLStoredProc1->Params->CreateParam(ftInteger,  "NNN" , ptInput);
P1->AsInteger = StrToInt(Edit1->Text);

SQLStoredProc1->ExecProc();
не работает!

Вывод: не правильно передаю процедуре параметр. Попробовал даже назватьего "@N" - не помогло.
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191637
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может на ADO попробовать, как Соореr говорит....
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32191676
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и есть, сделал на ADO за 15 минут, хотя этого ADO раньше в глаза не видел. Работает даже. Всем спасибо.

Но с dbExpress это западло. А я так его уважал раньше...
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32285586
BL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BL
Гость
object SQLDataSet1: TSQLDataSet
...
SchemaName = 'dbo'
...
end
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32285684
Виктор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перебирайся на ODAC или DOA и будет тебе счастье :-)
Для оракла компонентов лучше нету (а если есть, то я их не видел).
В сети есть на oraclebones.narod.ru
...
Рейтинг: 0 / 0
List index out of bounds(0) - я наверно убью себя...
    #32372415
PPasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дрова кривые для MS SQL. Я пробовал сторонние разрабоки (в смысле дрова) - все палит.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / List index out of bounds(0) - я наверно убью себя...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]