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

© йа вставило 0_о
...
Рейтинг: 0 / 0
19.08.2008, 10:01
    #35494002
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
А результат в каком виде получить нужно? Если в DataWindow, то см. SyntaxFromSQL(...)
...
Рейтинг: 0 / 0
19.08.2008, 13:17
    #35494677
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
Код: 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
19.08.2008, 13:22
    #35494687
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
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
19.08.2008, 13:52
    #35494801
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
Я так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
...
Рейтинг: 0 / 0
19.08.2008, 14:14
    #35494909
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
...
Рейтинг: 0 / 0
19.08.2008, 14:18
    #35494924
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
Локшин Марк RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
А это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;
...
Рейтинг: 0 / 0
19.08.2008, 14:22
    #35494944
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поля как в SQL менеджер
Riska Локшин Марк RiskaЯ так понял, что сам селект написан в текстовом поле. Вопрос был, как этот селект запустить.
Ну селект наверное обычно запускают для того, чтобы он что-то вернул? Я понимаю был бы update или delete, можно бы было обойтись конструкцией execute immediate.
А это чем не подходит?
Код: plaintext
FETCH mmm INTO :ls_mmm;

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

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

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

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

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

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


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