![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
1147 |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
С помощью этого кода осуществляется поиск в БД по фамилии. Проблем здесь не возникает.
Кроме этого поиск должен еще осуществляться по дате и номерам. Вроде бы код должен быть аналогичным для этих параметров, но каждый раз возникает какая-то ошибка с несовпадениями типов и тд. Подскажите пожалуйста в чем же здесь причина?? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Строки с двух сторон отделены апострофами, а Дата - вот так у меня только что отработало:
ADOTable1.Filter := 'DateOfBirth=#' + Edit1.Text + '#'; // Edit1.Text содержало 13/09/1984 Число передается без апострофов: ADOTable1.Filter := 'index=' + Edit1.Text; |
1147 |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
а решетка какую функцию выполняет? Имеет ли значение какими символами разделены день, месяц и год?
Дело в том что теперь аргументы имеют неверный тип ![]() Сообщение отредактировано: 1147 - 19.06.2009 1:35 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата а решетка какую функцию выполняет? Решеткой с двух сторон выделяется формат Даты (точно так же, как и апострофами - строка).Цитата Имеет ли значение какими символами разделены день, месяц и год? Вообще-то разделяться они должны тем символом, который хранится в переменной DateSeparator, иначе будет ошибка... |
1147 |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
В случае если у меня не только цифры, но еще и буквы. Например DS-183, GH356 (разделенные запятой). Тут есть какие-то особенности применения апострофов?
Тоесть в ячейках данного столбца все время находятся смешанные данные, а не только конкретно буквы или цифры. Как вообще в этом случае поступить? Можно ли подобрать какойто подходящий критерий фильтрации или стоит воспользоваться другим методом поиска? И где можно найти DateSeparator? |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Тут есть какие-то особенности применения апострофов? Никаких особенностей... У тебя либо строка (поля в БД типов Text/Memo) - тогда та строка, которую ты ищешь, выделяется апострофами, либо число (поля типов Number/AutoNumber), тогда не выделяется ничем. Либо дата (поле типа DateTime) - тогда с двух сторон - решетки...Но... Я кажется понял, что ты имеешь в виду. Вот то, что ты делаешь - оно ищет полное соответствие поля и введенного значения, ты ж делаешь "="... Тебе, наверное, надо искать поля, которые содержат введенные данные вместе с другой информацией, а это уже через LIKE (при поиске по текстовому полю): ADOTable1.Filter:='InfoField LIKE *' +Form1.Edit1.Text+'*';, если в Эдите будет 'DS', то останутся все поля, содержащие DS-234 ADS-5 DSeg и так далее, где в любом месте в тексте присутствует "DS". Я правильно понял, или у тебя что-то другое? Цитата И где можно найти DateSeparator? Переменная DateSeparator описана в модуле SysUnits... |
Гость |
![]()
Сообщение
#7
|
Гость ![]() |
Спасибо за помощь! Попробовал все это сделать в новом проекте-работает без проблем, а вот в старом никак не хочет... нужно искать ошибку. чтото мешает нормальной работе...
|
Гость |
![]()
Сообщение
#8
|
Гость ![]() |
А можно сделать чтобы найденные данные были выделины каким-нибудь цветом? Например в ячейке 7К-1952dsr,85s,59g (85s которую искал пользователь) была выделена зеленым цветом?
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Надо рыть в сторону OnDrawCell, наверное, можно, чуть позже попробую, расскажу, что получилось... Посмотри пока в DRKB, там может быть что-то полезное... Ты ж TDBGrid используешь?
|
1147 |
![]()
Сообщение
#10
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Да в TDBGrid. Посмотрю..
И все равно в каких то случаях поиск осущесттвляется нормально, а в каких то прерывается и пишет что неверный тип. Не пойму в чем дело ![]() Сообщение отредактировано: 1147 - 19.06.2009 18:34 |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 10:12 |