|
|
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, работники клавиатуры! Есть программа для работы с БД. Для доступа к БД используется dbExpress, чтобы обеспечить работу с любой БД SQL. Сегодня при запуске непонятная ситуация: Код: pascal 1. 2. 3. 4. 5. Запускаю программу и при попытке установить параметры хранимой процедуры получаю ошибку "Parameter "u_name" not found."(как-то так, емнип). Данный код работал в течение 2-3 месяцев без ошибок. У меня Delphi 10.2, если это важно. Компонент создается динамически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 18:25 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, Не знаю, что у тебя зв процедура, кто ёё создавал и какая у тебя версия сервера. У меня такой процедуры нет у меня есть вот такоеValue NameMicrosoft SQL Server 2017 (RTM-CU14) (KB4484710) - 14.0.3076.1 (X64) Mar 12 2019 19:29:19 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro for Workstations 10.0 <X64> (Build 17763: ) @@VERSION14 MICROSOFTVERSION259 SUSER_IDgator''s eater .SUSER_NAME1 USER_IDdbo CURRENT_.USER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 20:54 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Gator, Спасибо, друг. У меня firebird 3.0. Процедуру создал я. Какие ещё данные тебе предоставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 21:28 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, FProc - что за компонент-то? Вообще, обычно, если что-то работало, а потом вдруг сломалось, то надо проверять, что изменилось перед тем как "вдруг сломалось". Если компонент создается в рантайме, видимо, почему-то не грузятся метаданные о параметрах процедуры. Либо их загрузка выключена, либо что-то поломалось. На всякий случай: http://docwiki.embarcadero.com/RADStudio/Rio/en/Working_with_Stored_Procedure_Parameters ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2019, 23:44 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, Такое бывает. Попробуйте: 1) очистить параметры 2) обратиться к ним не по имени, а по индексу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 00:45 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
kdv, FProc - TSQLStoredProc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 07:25 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Сейчас откатился на более раннюю версию проекта, чтобы убрать изменения, сделанные за неделю, все равно не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 08:43 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
kdvmy_nik_name_is, http://docwiki.embarcadero.com/RADStudio/Rio/en/Working_with_Stored_Procedure_Parameters Это я уже читал, но все равно спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 08:44 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_isСейчас откатился на более раннюю версию проекта, чтобы убрать изменения, сделанные за неделю, все равно не работает. А в базе есть такие параметры у процедуры? М.б. что-то изменилось в самой базе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 09:14 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, В АДО аналогичная проблема решалась приблизительно так, как я написал для SQLStoredProc1 Код: pascal 1. 2. 3. 4. 5. 6. 7. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 09:27 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
prepare? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 09:49 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
энди, True пробовал сбрасывать, а потом ставить флаг, не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 09:56 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, ну давай я,что ли, попрошу у тебя текст процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 10:10 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Gerasimenkomy_nik_name_is, В АДО аналогичная проблема решалась приблизительно так, как я написал для SQLStoredProc1 Код: pascal 1. 2. 3. 4. 5. 6. 7. ... Попробовал. Cannot perform this operation on a closed dataset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 11:46 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
ёёёёё, Лови create or alter procedure GET_USER_ID ( U_NAME varchar(100)) returns ( U_ID integer) as begin select u_id from user_names where nick = :u_name into :u_id; if (u_id is null) then u_id = -1; suspend; end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 11:48 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, Сделай через Query. P.S. Я всегда использовал связку: Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 11:54 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Ой, сори. Unable to determine field names for %s ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 11:54 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, И в процедуре у себя пропиши или SELECT FIRST 1 .... или UNIQUE наложи - там потенциальная дырка может быть, если пользователей с одним именем несколько окажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 11:56 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, вообще-то suspend предполагает использование процедуры как слелективной, т.е. select * from proc, в этом случае нужно использовать компонент для селекта, а не TSQLStoredProc http://www.ibase.ru/sp_call/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 12:02 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
kdv, Имя пользователя всегда уникально. Двух одинаковых быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 13:31 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
В справке написано, что если процедура возвращает данные, надо использовать метод Active или Open На практике оказалось, что ExecProc тоже прекрасно возвращает данные. К тому же в примере по ссылке выше Используется ExecProc для процедуры, возвращающей данные Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Исходя из этого сделал вывод, что данные можно получать любым удобным способом. Хоть select, хоть exec. Но с exec меньше возни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 13:44 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
Часть проблемы решена. Скомбинировал доступ к параметрам хранимой процедуры Код: pascal 1. 2. 3. 4. 5. Входные параметры задаю через индекс, а выходные получаю по имени параметра. Пока переписал самое важное, постепенно буду переводить на новые рельсы весь код. Спасибо всем за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 16:22 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_is, Проверь для интереса, что вернет Execute для процедуры, которая возвращает более одной строки данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 16:50 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
DarkMastermy_nik_name_is, Проверь для интереса, что вернет Execute для процедуры, которая возвращает более одной строки данных. А что ты ожидаешь получить? авторTSQLStoredProc = class(TCustomSQLDataSet) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 17:01 |
|
||
|
TSQLStoredProc не видит параметры процедуры
|
|||
|---|---|---|---|
|
#18+
my_nik_name_isХоть select, хоть exec. Но с exec меньше возни. suspend в процедуре не имеет смысла, если процедура не предполагает возврат больше одной "строки", и соответствено, ее не планируют вызывать через select (для получения более одной строки). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2019, 23:33 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39805115&tid=2039516]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
406ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 689ms |

| 0 / 0 |
