powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поля как в SQL менеджер
19 сообщений из 19, страница 1 из 1
Поля как в SQL менеджер
    #35493978
Фотография CodeMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята октябрята скажите мне кто нибудь когда нибудь делал текстовое поле и если в него ввести запрос SQL запрос например select * from Chtototam и нажимали кнопку Вперед и этот запрос выполнялся бы из программы. Как это сделать и есть у кого нибудь пример.
Ну как в phpMyAdmin в Web php ну или окно запроса в Query Analizer

© йа вставило 0_о
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494002
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А результат в каком виде получить нужно? Если в DataWindow, то см. SyntaxFromSQL(...)
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494677
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DECLARE mmm DYNAMIC CURSOR FOR sqlsa;
ls_sql = st_mmm.Text
PREPARE sqlsa FROM :ls_sql;
OPEN DYNAMIC mmm;
DO 
FETCH mmm INTO :ls_mmm;
IF sqlsa.SqlCode =  100  THEN EXIT
.......
LOOP WHILE TRUE
CLOSE mmm;
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494687
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DECLARE mmm DYNAMIC CURSOR FOR sqlsa;
ls_sql = st_mmm.Text
PREPARE sqlsa FROM :ls_sql;
OPEN DYNAMIC mmm;
DO 
FETCH mmm INTO :ls_mmm;
IF sqlsa.SqlCode =  100  THEN EXIT
.......
LOOP WHILE TRUE
CLOSE mmm;

И как этим получить select * ?
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494801
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494909
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494924
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
А это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494944
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska Локшин Марк RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
А это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;

Как это может обработать произвольный запрос?
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494967
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RiskaА это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;

если этот запрос возвращает более одной колонки, то эта конструкция не сработает.

еще есть sqlda
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35494990
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если имеется ввиду именно SELECT * , то наверное, вообще никак нельзя сделать. А если конкретные столбцы указать, то все работает нормально.
Только нужно исправить
Код: plaintext
IF sqlsa.SqlCode =  100  THEN EXIT
на
Код: plaintext
IF sqlCa.SqlCode =  100  THEN EXIT
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495021
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry.. RiskaА это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;

если этот запрос возвращает более одной колонки, то эта конструкция не сработает.

еще есть sqlda
Понятно, что число и тип переменных должны соответствовать предложению в селекте.
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495027
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaЕсли имеется ввиду именно SELECT * , то наверное, вообще никак нельзя сделать. А если конкретные столбцы указать, то все работает нормально.
Только нужно исправить
Код: plaintext
IF sqlsa.SqlCode =  100  THEN EXIT
на
Код: plaintext
IF sqlCa.SqlCode =  100  THEN EXIT

Какая разница * или конкретные столбцы когда запрос может меняться динамически а * это по синтаксису только псевдоним?
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495037
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaПонятно, что число и тип переменных должны соответствовать предложению в селекте.
И где это Вы увидели в исходном вопросе?
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495385
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк RiskaПонятно, что число и тип переменных должны соответствовать предложению в селекте.
И где это Вы увидели в исходном вопросе?
В исходном вопросе этого нет. Это написано в исходном ответе. А то, что число и тип переменных должны соответствовать предложению в селекте, так это и ежу понятно. Иначе не будет работать.
Как получить кол-во и тип переменных пусть автор вопроса решает сам (может быть там выбирается всегда только имя). Если совсем не известен селект, то можно, например, после слова SELECT получить кол-во столбцов (они разделены запятыми), а тип переменных задать "any". Потом, если надо, проверять на isnumber, isdate и т.д.
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495564
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska[quot Локшин Марк]В исходном вопросе этого нет. Это написано в исходном ответе.
Т.е. это нормально ответить на вопрос который не спрашивали не ответив на вопрос который спрашивали?
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35495668
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю, имеется текстовое поле с неким селектом внутри. Нужно нажать на кнопочку и получить результат этого селекта. Если это так, то ответ дан.
http://www.sql.ru/forum/actualthread.aspx?tid=587332#6083165
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35496292
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RiskaНасколько я понимаю, имеется текстовое поле с неким селектом внутри. Нужно нажать на кнопочку и получить результат этого селекта. Если это так, то ответ дан.
http://www.sql.ru/forum/actualthread.aspx?tid=587332#6083165
У Вас бурная фантазия.
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35496421
Фотография CodeMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой ну спасибо ребята!!!
А что это за ошибка она меня бесит
Retrieve argument 12 does not match expected type
...
Рейтинг: 0 / 0
Поля как в SQL менеджер
    #35497128
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CodeMasterRetrieve argument 12 does not match expected type
Нет соответствия в типах аргументов. Например, DW хочет принять long и datetime. A в scripte написано: dw_1.Retrieve(ll_long, ld_date).
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поля как в SQL менеджер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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