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

Вниз

Помогите plz написать покрасивее :)   Найти похожие ветки 

 
Lego   (2002-08-31 10:01) [0]

Сильно длинный запрос какой-то у меня получился :)

Query1.SQL.Add("SELECT * FROM test.db WHERE Column1 + Column2 + Column3 + Column4 + Column5 + Column6 + Column7 + Column8 + Column9 + Column10 + Column11 + Column12 + Column13 + Column14 + Column15 + Column16 + Column17 + Column18 + Column19 + Column20 LIKE ""%" + ST + "%""");


 
Jeer   (2002-08-31 14:06) [1]

Сформируй в цикле строковую переменную, затем подставь в запрос


 
Desdechado   (2002-08-31 15:36) [2]

это НЕ длинный запрос.
как-то написал на 2 страницы - думал длинный. Но потом увидел еще длиннее :)


 
Lego   (2002-09-01 02:21) [3]

Дело в том что матерится на слишком длинный SQL запрос...


 
MsGuns   (2002-09-01 13:54) [4]

Строка в запросе длинная. Сделай перенос на новую строку. И вообще старайся строки SQL запроса не делать слишком длинными


 
Lego   (2002-09-02 09:58) [5]


> И вообще старайся строки SQL запроса не делать слишком длинными

Ну вот поэтому я и спросил как написать покороче вообще-то :)


 
slabur   (2002-09-02 10:55) [6]

Предыдущий совет правильный, не лепи все в одну строку, а разбей запрос на строки (в конце каждой строки символ ее конца) и тебе будет легче читать и запрос будет исполняться :-)


 
ЮЮ   (2002-09-02 10:59) [7]

Query1.SQL.Add("SELECT * FROM test.db );
Query1.SQL.Add("WHERE);
Query1.SQL.Add(Column1);
...
Query1.SQL.Add(Column20);
Query1.SQL.Add("LIKE ""%" + ST + "%""");

если Column1,...,Column20 заменить на Column:array[1..20] of String, то
for i:=1 to 20 do Query1.SQL.Add(Column[i]);



 
maratFromTomsk   (2002-09-02 13:01) [8]

скорее всего надо нормализовать базу
наверное это однотипные поля и
содержимое этих полей следует перенести в подчиненную таблицу


 
Lego   (2002-09-04 10:59) [9]

Спасибо ЮЮ


 
Lego   (2002-09-05 09:00) [10]

>> ЮЮ помоги еще разок если нетрудно
Мне нравится этот вариант но он матерится на LIKE...


если Column1,...,Column20 заменить на Column:array[1..20] of String, то
for i:=1 to 20 do Query1.SQL.Add(Column[i]);



 
ЮЮ   (2002-09-05 09:41) [11]

Column[i], насколько я понимаю, содержит сомножитель логического произведения, типа "and (fieldXXX=yyyy)" ? Сл-но, для полей, в которых нас интересует не = , а LIKE Column[i] должен содержать что-то типа "and (fieldXXX LIKE ""%yyyy%"")"

Query1.SQL.Add("LIKE ""%" + ST + "%"""); - это лишнее !!!


 
Lord Warlock   (2002-09-05 09:53) [12]

Может не в тему, но написать так
Column[последнее]:="LIKE ""% %d%"""
а перед циклом format(Column[последнее],[нужное значение])
(где выделено жирным - подставить тип твоих полей)


 
Lord Warlock   (2002-09-05 09:59) [13]

Извиняюсь, оплошал

Shablon:="LIKE ""%%d%"""
Column[последнее]:=format(Shablon,[нужное значение])



 
Lego   (2002-09-11 00:21) [14]

Извеняюсь что неписал давно... телефон неработал 5 дней :((
Сейчас пойду проверять что к чему :)


 
Lego   (2002-09-11 00:35) [15]

Маленькое дополнение если я сильно мудрено написал то вообщето это типа поиск такой у меня :)
Проще говоря есть таблица(я буду говорить DBGrid1) и есть типа результат поиска(DBGrid2), так вот собственно мне нужно просто из таблицы 1 вытаскивать найденое(то что написано в ST(типа SearchText(или по русски Edit1.Text))) через SQL в DBGrid2... глупо но вроде понятно :)



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

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

Наверх





Память: 0.47 MB
Время: 0.009 c
14-98325
mvg_first
2002-09-05 11:58
2002.09.30
Есть ли здесь то нибудь из Кривого Рога (Украина)


1-98027
Alex17
2002-09-17 13:07
2002.09.30
Вопрос по FIBPlus.


1-98028
Sosv
2002-09-17 13:10
2002.09.30
Rave Report


3-97960
Tananda
2002-09-09 11:27
2002.09.30
Как дать возможность пользователю отбирать данные из DBGrid а


7-98369
Kotka
2002-07-18 17:38
2002.09.30
Как вывести эту штуку...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский