Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Sql - скрипты

2.1K
01 ноября 2005 года
mainigor
151 / / 21.10.2005
Столкнулся с проблемой :
TQuery не обрабатывает 2 и более команд SQL
например :
select * from <table1>;
delete from <table2>;
когда команды стоят как у меня написано - есть вариант запихать все в ListBox и перебрать все в цикле.
А если это написано вот так :
select *
from <table1>;
delete from
<table2>;

... то я не знаю как быть.
Можно сделать несложный разбор и найти точку с запятой.
А если захочется написать еще комментарии ;)
Может есть компонент по этой теме ? Плиз, намекните.
13K
01 ноября 2005 года
VINT
4 / / 23.10.2005
Ну не обязательно запихивать в лист бокс.
Можно использовать тип TStringList - у него доступ к строчкам как у массива.

А вобще для выполнения различных запросов можно и несколько разных квери использовать - в каждый забить запрос с параметрами и , соответсвенно, их и менять.
299
01 ноября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by mainigor
Столкнулся с проблемой :
TQuery не обрабатывает 2 и более команд SQL
например :
select * from <table1>;
delete from <table2>;
когда команды стоят как у меня написано - есть вариант запихать все в ListBox и перебрать все в цикле.
А если это написано вот так :
select *
from <table1>;
delete from
<table2>;

... то я не знаю как быть.
Можно сделать несложный разбор и найти точку с запятой.
А если захочется написать еще комментарии ;)
Может есть компонент по этой теме ? Плиз, намекните.


И правильно что у тебя не получается.
Ты пытаешься выполнить два типа команд. Команду отображения данных и команду удаления.
В первом случае нужно использовать
Query->Open();
Во втором Query->ExecSQL();
Соединять команды разных типов нельзя.
Можно сколько угодно писать команд, кроме команды извлечения данных.
Кстати, если вы не вкурсе, то Query->SQL->... - это как раз таки TStringList;

13K
02 ноября 2005 года
VINT
4 / / 23.10.2005
>Кстати, если вы не вкурсе, то Query->SQL->... - это как раз таки TStringList;

Мы то в курсе:) Поэтому в переменной этого типа и можно хранить кучу запросов, а потом в цикле запихивать их по одному в квери. А уж там в зависимости селект это или нечто другое применять метод опен или экзекСкуль.
294
04 ноября 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by mainigor
Столкнулся с проблемой :
TQuery не обрабатывает 2 и более команд SQL
например :
select * from <table1>;
delete from <table2>;
когда команды стоят как у меня написано - есть вариант запихать все в ListBox и перебрать все в цикле.
А если это написано вот так :
select *
from <table1>;
delete from
<table2>;

... то я не знаю как быть.
Можно сделать несложный разбор и найти точку с запятой.
А если захочется написать еще комментарии ;)
Может есть компонент по этой теме ? Плиз, намекните.


Эмюэ… А какая СУБД? Если, например, Oracle, то есть библиотеки ODAC и DOA, в которых есть соответствующие компоненты. Если не хочется пользоваться сторонними компонентами, то можно (в случае с Oracle) закинуть скрипт в текстоый файл и скормить SQL*Plus (это очень гибкая и мощная штука, несмотря на кажущуюся простоту). Думаю, аналогичные решения найдутся и для других СУБД.

2.1K
04 ноября 2005 года
mainigor
151 / / 21.10.2005
Цитата:
Originally posted by Plisteron
Эмюэ… А какая СУБД? Если, например, Oracle, то есть библиотеки ODAC и DOA, в которых есть соответствующие компоненты. Если не хочется пользоваться сторонними компонентами, то можно (в случае с Oracle) закинуть скрипт в текстоый файл и скормить SQL*Plus (это очень гибкая и мощная штука, несмотря на кажущуюся простоту). Думаю, аналогичные решения найдутся и для других СУБД.


Нет, не Oracle, это FireBird, но суть понятна.
Я подумаю насчет этой темы.

1
04 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by mainigor
Нет, не Oracle, это FireBird, но суть понятна.
Я подумаю насчет этой темы.

Для работы с FireBird более практично использовать компоненты FIBS - в них к стати реализованно то что необходимо тебе.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог