Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Почему не работает команда ?


Автор: Cyri 29.11.2004, 12:56
Почему не работает команда ?
t:=OpenDialog1.FileName;
Query1.Close;
Query1.SQL.Add('select * from '+ t);
Query1.Open;
Всё настроено нормально. Запрос Query1.SQL.Add('select * from clients'); работает корректно. Кажется, надо привести OpenDialog1.FileName к какому-то определённому типу или как ? Подскажите
Кирилл

Автор: ~FoX~ 29.11.2004, 13:12
Cyri
OpenDialog.FileName возвращает струкутуру типа TFileName.

Цитата

TFileName is a string that represents a file name.
Unit
SysUtils
Delphi syntax:
type TFileName = type string;



Попробуй так:
Код

Query1.SQL.Add('select * from' + '  '+ t);


А что компилятор говорит по этому поводу?

Автор: Pakshin A. S. 29.11.2004, 13:29
А так?
Код

with query1 do
begin
Close;
Sql.text:='Select * from "' + OpenDialog1.FileName + '"');
Open;
end;

Автор: Dimich 29.11.2004, 16:35
А OpenDialog1.FileName у вас случайно не с расширением файла получается?

Автор: Pakshin A. S. 29.11.2004, 18:39
FileName возвращает:
C:\MyDataBase.db
В SQL должно быть так:
Код

SELECT * FROM "C:\MyDataBase.db"

или так
Код

SELECT * FROM 'C:\MyDataBase.db'


Можно, конечно если прога лежит в том же каталоге, что и база, сделать преобразование:
Код

Copy(ExtractFileName(FileName), 1, Pos(''.', ExtractFileName(FileName)))

Вроде так...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)