Форум: "Базы";
Текущий архив: 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