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

Вниз

как организовать сортировку в БД по полю   Найти похожие ветки 

 
JEK2   (2006-02-19 15:00) [0]

Подскажите как организовать сортировку в БД по полю TL
Тип поля TL -alpha, данные примерно такие
34567
24865
34568
53487
34569
Требуется например после ввода в Edit1.Text текста-"34 "получить результат
34567
34568
34569
Делаю так, но выдает не тот результат который хотелось бы увидеть :(

procedure TForm1.Edit1Change(Sender: TObject);
begin
 Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add("SELECT * FROM B_ALL.DB");
 Query1.SQL.Add("WHERE TL >= ""+Edit1.Text+""");
 Query1.Open;
end;

Если сделать Тип поля TL -LongInteger тогда ваще не пойму как такую сортировку организовать :(


 
Desdechado ©   (2006-02-19 15:05) [1]

1. это не сортировка, это отбор данных
2. если поле текстовое, то используй LIKE
3. если поле числовое, то приводи его к текстовому, иначе "на подобие" не сравнить
4. используй параметры

например, для числового поля:
Query1.SQL.Add("SELECT * FROM B_ALL.DB");
Query1.SQL.Add("WHERE CAST(TL AS VARCHAR(20)) LIKE :P1");
Query1.Params[0].AsString:=Trim(Edit1.Text)+"%";


 
JEK2   (2006-02-19 17:50) [2]

Большое спасибо.
Еще один глупый вопрос.
Другие поля БД типа VARCHAR и каждая запись поля начинается с заглавной буквы. Как сделать регистронезависимую выборку.
Например поле содержит слово "Водитель" ,в Edit1.Text вводим "водиТель" и выбираются записи "Водитель","водитель","водИтель"
Нашел только описание UPPER LOWER типа
WHERE UPPER(POLE) = "ВодИтель"  но это не подходит, так как не все данные полей начинаются с Заглавных букв!


 
Anatoly Podgoretsky ©   (2006-02-19 18:36) [3]

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

Во вторых какая разница, раз сделать регистронезависимую выборку.
В третьих от модератора, новая тема - новая ветка


 
Desdechado ©   (2006-02-19 19:16) [4]

http://delphimaster.net/view/2-1140364604/


 
Desdechado ©   (2006-02-19 19:18) [5]

> WHERE UPPER(POLE) = "ВодИтель"  но это не подходит
В примере я тебе показал использование LIKE.
Так в чем вопрос? Подумать сложно?



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

Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
6-1132395921
[ S.F.I.N.X ]
2005-11-19 13:25
2006.03.05
PID процесса


2-1140177446
zx__
2006-02-17 14:57
2006.03.05
работа с модемом


15-1139853703
Sergey Masloff
2006-02-13 21:01
2006.03.05
Борланд отказывается от развития!!! (Так похоже нужно начинать


1-1138882857
DVM
2006-02-02 15:20
2006.03.05
ReportMemoryLeaksOnShutdown в Delphi2006 глюки?


2-1139992967
MIXER
2006-02-15 11:42
2006.03.05
печать формы





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