Подскажите как мне сделать... у меня есть каталог файлов dbf, я делаю выборку этих файлов и мне надо поместить результат т.е. таблыцы в DBGrid, подскажите как мне сделать запрос
я делаю так
With DataModule2 do
begin
Query1.SQL.Add(select * from + здесь Edit+ расширение);
end;
end;
скажите правильно???
Query1.SQL.Add
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Тут все зависит от драйвера, а также от того используется ли TDataBase.
Например для нативных драйверов BDE в запросе можно указывать только имя файли или имя с расширением, или вообще полный путь.
Если имя содержит пробелы или вообще какие-то другие символы кроме букв, цифр и еще нескольких символов, то для BDE имя нужно брать в двойные кавычки.
Если путь не указан, то при отсутствии в TQuery ссылки на TDatabase файл отыскивается в текущей папке, если TDatabase используется, то путь указан в его параметрах.
Т.е. должно быть
Query1.SQL.Text:='select * from "' + Edit1.Text + '.DBF"'
или
Query1.SQL.Text:='select * from "' + Edit1.Text + '"'
Причем в Edit1 можно ввести Table1 или C:\Data\Table1, а во втором случае еще и C:\Data\Table1.bdf
Для не DBE-драйверов детали синтаксиса могут поменяться, однако для подавляющего большинства:
текстовые строки заключаются в одинарные кавычки, а имена полей и имена таблиц употребляются либо без кавычек, либо в двойных кавычках.
Например для нативных драйверов BDE в запросе можно указывать только имя файли или имя с расширением, или вообще полный путь.
Если имя содержит пробелы или вообще какие-то другие символы кроме букв, цифр и еще нескольких символов, то для BDE имя нужно брать в двойные кавычки.
Если путь не указан, то при отсутствии в TQuery ссылки на TDatabase файл отыскивается в текущей папке, если TDatabase используется, то путь указан в его параметрах.
Т.е. должно быть
Query1.SQL.Text:='select * from "' + Edit1.Text + '.DBF"'
или
Query1.SQL.Text:='select * from "' + Edit1.Text + '"'
Причем в Edit1 можно ввести Table1 или C:\Data\Table1, а во втором случае еще и C:\Data\Table1.bdf
Для не DBE-драйверов детали синтаксиса могут поменяться, однако для подавляющего большинства:
текстовые строки заключаются в одинарные кавычки, а имена полей и имена таблиц употребляются либо без кавычек, либо в двойных кавычках.
Query1.SQL.Add(select * from + здесь Edit+ расширение);
а если в Query1.SQL. уже что-то было? Его надо бы очистить... или вообще написать Query1.SQL.text:=select * from + здесь Edit+ расширение
ну и как минимум перед этим желательно делать query1.close а после - query1.open
а если в Query1.SQL. уже что-то было? Его надо бы очистить... или вообще написать Query1.SQL.text:=select * from + здесь Edit+ расширение
ну и как минимум перед этим желательно делать query1.close а после - query1.open