Главная страница
    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.012 c
15-1139550534
Ega23
2006-02-10 08:48
2006.03.05
С Днём рождения! 10 февраля


1-1138529550
Wistler
2006-01-29 13:12
2006.03.05
Импорт функции из DLL


4-1134568592
Revenkov
2005-12-14 16:56
2006.03.05
Завершение работы программы при выключении машины


1-1138713607
AMPR
2006-01-31 16:20
2006.03.05
DLL, динамический выхов процедур с переменных числом параметров.


15-1139409154
V-kras
2006-02-08 17:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский