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

Вниз

Фильтрация в базе   Найти похожие ветки 

 
anton shestakov   (2009-01-26 16:55) [0]

подскажите как произвести фильтрацию в бд не по первым буквам, а по последним, тоесть если мне надо найти фамилию по последним буквам! или даже по любым буквам! или при помощи фильтрации такое не возможно?
Table1.FilterOptions:=[foCaseInsensitive];
Table1.Filter:="name = "+""""+edit1.text+"*"+"""";
Table1.Filtered:=true;


 
MsGuns ©   (2009-01-26 18:44) [1]

like


 
anton shestakov   (2009-01-26 19:44) [2]

и куда like вписать?


 
Anatoly Podgoretsky ©   (2009-01-26 19:45) [3]

> anton shestakov  (26.01.2009 16:55:00)  [0]

Нафига тогда не используешь SQL


 
anton shestakov   (2009-01-26 19:48) [4]

Table1.FilterOptions:=[foCaseInsensitive];
Table1.Filter:="name like "+""""+edit1.text+"*"+"""";
Table1.Filtered:=true;
так не работает


 
sniknik ©   (2009-01-26 22:45) [5]

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


 
Германн ©   (2009-01-27 01:57) [6]


> ну это также как сказать на машину, что она не работает
> хотя она ездит и ремонта не требует

Это про Парадокс?
:)


 
sniknik ©   (2009-01-27 08:08) [7]

> Это про Парадокс?
> :)
нет это вообще про движок а не формат файла, ведь это он фильтрацию делает (если она конечно вот в таком виде, а не самостоятельно реализована).


 
Виталий Панасенко   (2009-01-27 14:12) [8]

Используй OnFilterRecord


 
anton shestakov   (2009-01-27 16:05) [9]

После компиляции проекта и ввода в edite любой буквы, хоть первой, программа вылетает и пишется Priject 1.exe raised exception class EDBEngine Error with message "Operation not application"


 
Виталий Панасенко   (2009-01-27 16:44) [10]


> anton shestakov   (27.01.09 16:05) [9]


> Виталий Панасенко   (27.01.09 14:12) [8]
>
> Используй OnFilterRecord


 
anton shestakov   (2009-01-28 16:19) [11]

а что в OnFilterRecord тогда писать?


 
Anatoly Podgoretsky ©   (2009-01-28 16:41) [12]

> anton shestakov  (28.01.2009 16:19:11)  [11]

В OnFilterRecord можно, что угодно писать, например

accept := Random > 0.3;

Это очень можное орудие.


 
anton shestakov   (2009-01-28 17:04) [13]

а по моему случаю? (конечно извините может за детский вопрос, но я не разу этим не занимался) - произвести фильтрацию в бд не по первым буквам, а по последним, тоесть если мне надо найти фамилию по последним буквам! или даже по любым буквам!


 
anton shestakov   (2009-01-28 21:26) [14]

использовал как и советовали OnFilterRecord - написал вот так Accept :=(Pos(Edit1.Text, DataSet["Name"]) > 0);
И вот теперь подскажите, что добавить в эту строчку, чтобы сделать фильтрацию нечувствительной к регистру!
Заранее спасибо!


 
ЮЮ ©   (2009-01-29 03:32) [15]

Привести Edit1.Text и DataSet["Name"])  в выражении к одному регистру, например, использую UnsiUpperCase


 
Виталий Панасенко   (2009-01-29 08:49) [16]


> anton shestakov   (28.01.09 21:26) [14]
>
> использовал как и советовали OnFilterRecord - написал вот
> так Accept :=(Pos(Edit1.Text, DataSet["Name"]) > 0);
> И вот теперь подскажите, что добавить в эту строчку, чтобы
> сделать фильтрацию нечувствительной к регистру!
> Заранее спасибо!

Лучше так не делать. Я об DataSet["Name"]. При "пустом" (null) значении поля Name получишь исключение.. Лучше сделай так: DataSet.FieldByName("Name").AsString


 
anton shestakov   (2009-01-29 15:57) [17]


> Привести Edit1.Text и DataSet["Name"])  в выражении к одному
> регистру, например, использую UnsiUpperCase


А поподробнее?


 
Медвежонок Пятачок ©   (2009-01-29 16:46) [18]

ShowMessage(AnsiUpperCase("НебОскреБы, небоСКребы, А я мАлЕнький тАКой...."))


 
anton shestakov   (2009-01-30 21:35) [19]

такое ощущение, что никто ничего не знает! спросил, так никто ничего толком и не ответил точно, посмотри там, используй это!


 
Johnmen ©   (2009-01-30 21:54) [20]

У всех (ну кроме тебя) ощущение, что песочница в другом месте.
Впрочем, есть ещё вариант про моск...


 
Германн ©   (2009-01-31 01:07) [21]


> anton shestakov   (30.01.09 21:35) [19]
>
> такое ощущение, что никто ничего не знает! спросил, так
> никто ничего толком и не ответил точно, посмотри там, используй
> это!

Одно из воспоминаний моего детства:
Мне лет 5-6. Самое начало 60-х. Я играю во дворе. Рядом на скамейке сидит женщина с маленьким ребенком на руках. Она берет ложкой из тарелки гречневую кашу, кладёт себе в рот и жуёт. Потом через некоторое время выдавливает в рот своему ребенку пережеванную кашу из своего рта! Я так и не понял зачем она это делает, хотя несколько раз спрашивал об этом у своей мамы.

Так то ж был грудной ребенок! И времена были иные! Специализированного детского питания тогда не было.
Может ты сам начнешь пережевывать, то что тебе дают?


 
bla   (2009-03-17 00:13) [22]

Я из объяснений ничего не понял, OnFilterRecord тоже не помогло.


 
Sergey13 ©   (2009-03-17 08:22) [23]

> [22] bla   (17.03.09 00:13)

Сочувствую. Но ради этого признания не стоило поднимать ветку двухмесячной давности.


 
D@nger   (2009-03-17 09:24) [24]

Я тоже начинающий и  как то тоже столкнулся с такой же проблемой... Anatoly Podgoretsky уже посоветовал использовать событие OnFilterRecord я так и делал в своей программе... проверяй нужное условие фильтра в этой процедуре и если оно удовлетворяет запросу то accept:=true else accept:=false. Для проверки условия пользуйся процедурами и функциями для работы со строками... я использовал функцию pos которая выдает позицию подстроки в строке ... и если подстрока является окончанием (тут уж сам думай как это проверить) то accept:=true ... ну и все... только в процедуре поставь условие когда делать такую проверку потому что эта процедура будет выполнятся каждый раз при фильтровании...


 
Anatoly Podgoretsky ©   (2009-03-17 10:13) [25]

> D@nger  (17.03.2009 9:24:24)  [24]

accept := Random > 0.8;


 
имя   (2009-04-04 00:08) [26]

Удалено модератором


 
имя   (2009-04-04 00:09) [27]

Удалено модератором



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

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

Наверх




Память: 0.5 MB
Время: 0.005 c
15-1236968185
Другг
2009-03-13 21:16
2009.05.17
Архивация и сжатие


15-1236764505
desc
2009-03-11 12:41
2009.05.17
Функция возвращения пути


3-1220794694
kaif
2008-09-07 17:38
2009.05.17
Вопросы по трриггерам MS SQL


3-1220882616
Кочпхдун Нджумбабаев
2008-09-08 18:03
2009.05.17
TQuery, данные не хотят обновляться :(


15-1237360764
немо2
2009-03-18 10:19
2009.05.17
MSSQL2000 и Query Analyzer и управление изоляцией





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