Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Вниз

Query   Найти похожие ветки 

 
Guest.   (2002-01-31 11:07) [0]

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


 
Alex Y   (2002-01-31 11:20) [1]

TN := "Имя таблицы";
Query1.SQL.Clear;
Query1.ASL.Add("Select * From "+TN);
Query1.Open;


 
Guest.   (2002-01-31 11:37) [2]

А что такое Query1.ASL?
Я заменила на SQL но он мне пишет что не понимает слово From


 
Guest.   (2002-01-31 11:39) [3]

У меня так написано, он чего-то не понимает.

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


 
Alexandr   (2002-01-31 11:40) [4]

правильно, должно быть SQL
не понимает FROm это кто пишет отладчик или твоя программа когда выполняется?
В синтаксисе ошибка.


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

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


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

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


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

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


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

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


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

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


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

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


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


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:53) [12]

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


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

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


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

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

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


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

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




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

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

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

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




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

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


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

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


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

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


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

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


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

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


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

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


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


СУПЕР!

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

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


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

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



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.005 c
6-79404
soloboev
2001-11-21 14:36
2002.02.25
Передача срочных данных


4-79499
well
2001-12-25 17:12
2002.02.25
WINAMP


14-79447
Socol
2001-12-28 15:04
2002.02.25
Загрузка файла!


7-79479
Asisyay
2001-10-31 15:35
2002.02.25
Intel 8254


14-79463
Filat
2002-01-09 13:15
2002.02.25
Как при помощи NORTON GHOST сделать копию партишина в имидж вин2000 сервер, чтобы сохранился файл подкачи.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский