Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Query [D6, dBase, FoxPro]


Страницы:   1 2

Guest. ©   (2002-01-31 11:07:00) 

Подскажите пожалуйста, как в запросе обратиться к таблице не по ее имени (например Data.dbf), а как-нибудь через TableName? Потому что имена обрабатываемых таблиц могут быть разные, а через TableName запрос эту таблицу не видит. Спасибо.


User_OKA   (2002-01-31 15:33:00) [1]

Это ж надо 3 часа такой запрос писать!


Guest.   (2002-01-31 13:30:00) [2]


СУПЕР!

Все работает.(> Val)

Всем огромное спасибо!


Val   (2002-01-31 13:26:00) [3]

метаданные не передаются параметрами, используйте переменную и соединение строк:
var s:string;
..
s:=#39+Table1.Name+#39;
..
Query1.SQL.Add("select * from "+s+" ");
..


Alex Y   (2002-01-31 13:25:00) [4]

Да ради бога, ты просто правильность построения запроса проверь, напиши его одной строкой как он перед открытием выглядеть должен, имя таблицы поставь одно из твоих известных, запусти, отработает этот запрос или нет, если отработает, тогда и добавляй свою Table1.TableName и пр.


Guest.   (2002-01-31 13:21:00) [5]

Мне не надо конкретное имя таблицы, у меня Table1.Tablename - изменяется, а он хочет чтобы я конкретное имя задала...


Alex Y   (2002-01-31 13:18:00) [6]

Точно!! а я то думаю чего не хватает


Guest.   (2002-01-31 13:17:00) [7]

Не-а тоже самое пишет...
Может имя таблицы не понимает?


Val   (2002-01-31 13:17:00) [8]

>Guest. (31.01.02 12:53)
ошибка в первой строке запроса-имя таблицы должно быть в кавычках, как и параметр для like


Alex Y   (2002-01-31 13:13:00) [9]

Похоже проблема здесь не в этом.
Напиши запрос напрямую, без параметров и меняющихся имен.

Query1.SQL.Clear;
Query1.sql.Add("SELECT * FROM <Имя таблицы>");
Query1.sql.Add(" WHERE Otdel LIKE (""%"") AND Name LIKE (""%"")");
Query1.Open;

и посмотри, сработает запрос или нет.



Guest.   (2002-01-31 13:04:00) [10]

Пишет тоже самое...
Параметры изначально такие -
Query1.ParamByName("OtdelParam").AsString:="%";
Query1.ParamByName("NameParam").AsString:="%";



Alex Y   (2002-01-31 13:01:00) [11]

А попробуй
Query1.sql.Add(" WHERE Otdel LIKE (:OtdelParam) AND Name LIKE (:NameParam)");

Какие значения ты параметрам задаешь?


Guest.   (2002-01-31 13:00:00) [12]

А как описывать эти параметры в коде программы?


Guest.   (2002-01-31 12:53:00) [13]

>Val
Ошибку выдает:
Invalid use of keyword. Token: ?
Line Number: 1


Val   (2002-01-31 12:48:00) [14]


Query1.SQL.Clear;
Query1.sql.Add("SELECT * FROM "+ Table1.TableName);
Query1.sql.Add(" WHERE Otdel LIKE :OtdelParam AND Name LIKE :NameParam");
Query1.ParamByName("OtdelParam").AsString:="some";
Query1.ParamByName("NameParam").AsString:="some";
Query1.Open;


Guest.   (2002-01-31 12:37:00) [15]

А программно у меня не получается
query1.Params.AddParam
я вот так делаю


Alex Y   (2002-01-31 12:29:00) [16]

2 Guest все правильно SQL (пальцы кривые :)), а параметры кто описывать будет?


Guest.   (2002-01-31 12:07:00) [17]

Спасибо, я уже по-моему догадалась в чем дело...


Val   (2002-01-31 12:05:00) [18]

>Guest. (31.01.02 11:56)
анализ текста запроса просходит, когда вы делаете Query.Open etc., вот в тексте у вас и находится ошибка


Guest.   (2002-01-31 11:56:00) [19]

Так, в этом месте разобралась - не глючит...
В другом заглючило с той же ошибкой при
Query1.Active:=true;
Query1.first;


Guest.   (2002-01-31 11:46:00) [20]

В случае как у меня написано выдает ошибку при выполнении:
Invalid use of keyword. Token: ?
а иногда


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо