powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQL-запрос
19 сообщений из 19, страница 1 из 1
SQL-запрос
    #32117280
Здравствуйте Уважаемые!

Как мне организовать такой запрос, чтобы пользователь введя в поле поиска например символы "До" и нажав кнопку "Найти" увидел бы всех людей фамилии, которых начинаются на "До".

Заранее очень благодарен!
...
Рейтинг: 0 / 0
SQL-запрос
    #32117285
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
SELECT
  *
FROM
  Table
WHERE colName like 'До%'.

Это для MS SQL.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117286
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
select ... from ... where LastName like 'До%'
...
Рейтинг: 0 / 0
SQL-запрос
    #32117289
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Опередили...

Тогда у меня ДЛЯ ОРАКУЛА
...
Рейтинг: 0 / 0
SQL-запрос
    #32117305
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел ввиду '%', а то ведь для Access нужна '*'. А автору топика не мешало бы и тип СУБД указывать.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117311
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
А 'LIKE' - это разве не из стандартного SQL?
...
Рейтинг: 0 / 0
SQL-запрос
    #32117347
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше сделать чтобы он их увидел еще до того, как нажмет на кнопку, т.е.
с каждой новой вводимой буквой круг поиска сужался. Но запрос при этом тормозить будет. Это надо на клиенте далать.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117358
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Лучше сделать чтобы он их увидел еще до того, как нажмет на кнопку, т.е.
с каждой новой вводимой буквой круг поиска сужался. Но запрос при этом тормозить будет. Это надо на клиенте далать.


Ты издеваешься??? А если там 1000000 фамилий?
...
Рейтинг: 0 / 0
SQL-запрос
    #32117362
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose

Если 1000000... , то на клиенте не надо. Но в реальных случаях такой список
фамилий бывает редко. Например 10000 будет мгновенно.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117368
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кнопку надо выкинуть, а чтобы не тормозило, использовать Select top. Я думаю, 20 хватит:-)
...
Рейтинг: 0 / 0
SQL-запрос
    #32117370
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Мгновенно ли?

10000*(8{средняя длина фамилии}+24{имя, отчество и еще что-нить})=320000
Еще будет служебная инфа БД и ОС. Итого примерно 400 kB. На 100 MB сети - полсекунды. А если 20 клиентов, да одновременно??? А если сеть 10 MB?
...
Рейтинг: 0 / 0
SQL-запрос
    #32117378
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose

1. Если мы речь ведем о клиенте, то при чем тут скорость сети?
2. Поскольку поиск ведем только по фамилии, всю служебную информацию можно и не гонять.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117384
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Причем тут скорость сети:
сначала надо перегнать данные на клиента, чтобы потом выбирать из них.
А насчет служебной информации - так на то она и служебная, что ОНА БУДЕТ ВНЕ ЗАВИСИМОСТИ ОТ НАШЕГО ЖЕЛАНИЯ. Rowid и прочая хрень. Она драйверу нужна, а не нам.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117624
У меня локальная таблица Paradox
А если допустим пользователь ввел не "До", а начальные буквы какой нить другой фамилии. Мне необходимо, чтобы запрос работал гибко.


Заранее очень благодарен!
...
Рейтинг: 0 / 0
SQL-запрос
    #32117820
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное для других символов, кроме "До", придется ставить отдельный сервер
...
Рейтинг: 0 / 0
SQL-запрос
    #32117835
Magellan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На onChange компонента Edit делай SQL запрос, представленный выше, заменив like '%До' на like '%'+'''Edit1.Text''', для сужения круга поиска с каждым вводимым символом.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117855
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ADOQuery есть свойство Filter. Работает с вытянутыми на клиента записями.
...
Рейтинг: 0 / 0
SQL-запрос
    #32117944
_Александр_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magellan_

Ну это точно будет издевательство. Тормоза как надо получатся.

Вот с фильтром на клиенте стоит попробовать, я так далаю иногда, если
заведомо известно, что результат запроса не будет слишком большой
(10-20 тыс. записей - вполне, но это уже от рабочей станции зависит. Запустил я как-то такую программу на 486 - не очень красиво вышло)
...
Рейтинг: 0 / 0
SQL-запрос
    #32118242
Magellan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТО Александр - все работает, никаких тормозов нет (в таблице~30000 записей)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQL-запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]