Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Уважаемые! Доброе время суток. Возник следующий вопрос: Как организовать поиск в таблице. Например найдена какая либо запись, но возможны совпадения. Как найти совпадающее значение, после найденого первого. Заранее очень благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 16:41 |
|
||
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
Проще всего обычно дать запрос на SQL а какой запрос, зависит от базы данных, которую юзаешь, от структуры таблицы, в частности о наличии уникальных полей. Второй вариант менее изящный и вообще говоря более тормозной, фетчить записи с таблицы и сравнивать с тем что прочитал. Как только равно, значит курсор стоит на дублирующей записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 03:41 |
|
||
|
Поиск в таблице
|
|||
|---|---|---|---|
|
#18+
procedure TfrmMain.acSearchExecute(Sender: TObject); var FromPos: TBookmark; begin FromPos:=dgSkupka.DataSource.DataSet.GetBookMark; with qrSelectForFind do begin Close; SQL.Clear; SQL.Add('select keyfield from Table'); SQL.Add('where любое условие'); SQL.Add('order by лунашудв'); Open; end; if not qrSelectForFind.IsEmpty then begin ID:=qrSelectForFind.FieldByName('keyfield').AsFloat; dgSkupka.DataSource.DataSet.Locate('keyfield',Variant(ID),[]); end else begin ShowMessage('Значение не найдено'); dgSkupka.DataSource.DataSet.GotoBookMark(FromPos); end; finally dgSkupka.DataSource.DataSet.FreeBookMark(FromPos); end; procedure TfrmMain.acSearchNextExecute(Sender: TObject); var FromPos: TBookmark; begin Found:=FALSE; try FromPos:=dgSkupka.DataSource.DataSet.GetBookMark; qrSelectForFind.Next; if not qrSelectForFind.EOF then begin ID:=qrSelectForFind.FieldByName('keyfield').AsFloat; dgSkupka.DataSource.DataSet.Locate('keyfield',Variant(ID),[]); Found:=TRUE; end else Found:=FALSE; if not Found then begin ShowMessage('Значение не найдено'); dgSkupka.DataSource.DataSet.GotoBookMark(FromPos); end; finally dgSkupka.DataSource.DataSet.FreeBookMark(FromPos); // Cursor:=crDefault; end; //finally end; Есть две кнопки -- одна для начала поиска, по которой вызывается диалоговое окно, в котором указываются условия поиска а потом вызывается TfrmMain.acSearchExecute, а вторая кнопка для продолжения поиска, в которой вызывается TfrmMain.acSearchNextExecute. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 08:02 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2118987]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 430ms |

| 0 / 0 |
