DELPHI Урок 4 Поиск по БД, быстрый поиск по БД

  Рет қаралды 53,558

Виктор Восонов

Виктор Восонов

Күн бұрын

Пікірлер: 88
@PitSobaka
@PitSobaka 4 жыл бұрын
Да вы, батенька, профи! Эта "хрень" называется одинарная кавычка!) Но вообще то уроки неплохие!
@ДанилТокалов-ч9ф
@ДанилТокалов-ч9ф 3 жыл бұрын
Спасибо вам огромное ! Тем кто не понимает смотрите с первого видео!!!
@АлинаМашкова-п8у
@АлинаМашкова-п8у 4 жыл бұрын
Получилось, спасибо, долго не получалось, переписывала около 30 раз. И в бд все соединила и пробелы удалила, не выходила, хорошо, что в коменты залезла. Что бы не был пропущен оператор в самой базе нужно все написать на английском и без пробелов.
@YuriiMokryi
@YuriiMokryi 7 жыл бұрын
Спасибо за видео! Материал мне очень пригодился!
@MasterOfGophers
@MasterOfGophers 2 жыл бұрын
Наверно врядли кто-то ответит, но почему то данная поисковая строка работает у меня на 2х из 3х форм, на 3й форме при попытке ввода текста в Edit вылетает неопознанная ошибка с указанием на Recordset.Open(Source, ActiveConnection,. Код проверил 100 раз, точно такой же, заново делал форму несколько раз. Ничего не помогает =(
@hero9G
@hero9G 8 жыл бұрын
все в точности как у тебя но у меня ошибка "пропущен оператор" хотя я ничего не пропускал(((
@МухамедБекмагамбетов-й4х
@МухамедБекмагамбетов-й4х 7 жыл бұрын
Galymzhan Almabek тоже самое пропущен оператор
@d.1zz7
@d.1zz7 5 жыл бұрын
В конце забыл добавить ORDER BY, и ещё WHERE 'имя' должен быть одинаков с ORder BY 'имя'. Как-то так наверное
@deathstroke7528
@deathstroke7528 5 жыл бұрын
procedure TForm2.edt1Change(Sender: TObject); var help1, help2: string; begin help1:='%'+ Form2.edt1.Text+'%'; help2:=QuotedStr(help1); with Form2.qry1 do begin Close; SQL.Clear; SQL.Add('Select * from Поставщики where Наименование like' + help2); Open; end; end;
@rat2316
@rat2316 2 жыл бұрын
А как сделать это на двух связанных таблицах? Он находит все именая во всех категориях хотя должен только в выбранной категории имена находить?
@nikita_legend
@nikita_legend 2 ай бұрын
У Вас работает как в видео?
@amerym2118
@amerym2118 7 жыл бұрын
А как можно прописать, если используется ADOTable? Что нужно писать после begin? Помогите пожалуйста :(
@unreal7524
@unreal7524 8 жыл бұрын
Проблема в типе. Попробуйте сделать это но уже только текстовыми полями. Например Имя, Фамилия , Отчество, Чтобы было только тексты.. Или же когда создаете базу то опишите цифру как текстовый (Alpha). У меня получился.. Спасибо большое Автору за видео урок
@battersline2004
@battersline2004 5 жыл бұрын
ничего не работает
@Заробіток-й4ъ
@Заробіток-й4ъ 3 жыл бұрын
а как сделать поиск если в таблице 40 полей? все перечесоять?
@ShOkErKa
@ShOkErKa 6 жыл бұрын
Здравствуйте подскажите в чём ошибка? Компилирование проходит, но как только начинаю забивать в поиске что-то, то вылазит такая ошибка First chance exception at $76233EF2. Exception class EOleException with message 'Неопознанная ошибка'. Process Project1.exe (8036)
@КонстантинНиколаев-л5ц
@КонстантинНиколаев-л5ц 8 жыл бұрын
а как работает конструкция help1:=''%'+Edit1.Text+'%'; что даёт знак процента в апострофах до и после Edit?
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Константин Николаев возвращает все записи, содержащие подстроку в указанном столбце
@kuin4719
@kuin4719 7 жыл бұрын
procedure TForm1.Edit1Change(Sender: TObject); var help1, help2 :string; begin help1 := '%'+form1.Edit1.Text+'%'; help2 := QuotedStr(help1); With form1.ADOQuery1 do begin close; SQL.Clear; SQL.Add('select * from avisma where nam like'+help2+' or group like'+help2+' or otv like'+help2+' or xpe like'+help2+' order by nam'); open; end; end; Выдаёт ошибку с пропуском оператора, ошибку найти не могу, таблица полностью на англ языке. Если косяк у меня в чём то подскажите пожалуйста
@elia2470
@elia2470 2 жыл бұрын
столкнулся с такой же проблемой, решение нашлось?
@treanya233
@treanya233 7 жыл бұрын
Помогите пожалуйста, работаю с interbase вроде бы все сделала, но не ищет вообще, нуль реакции procedure TForm4.Edit1Change(Sender: TObject); var h1, h2:string; begin h1:='%'+Form4.Edit1.Text+'%'; h2:=QuotedStr(h1); with Form4.IBQuery1 do begin Close; SQL.Clear; SQL.Add('select * from OTVET_ZA_REMONT_KOMP_TEX where FIO like' + h2 + ' or DR like ' + h2 + ' or TABEL_NOMER_OTVET_S like ' + h2 + ' or DOLGNOST_DOLGNOST like ' + h2 + ' or KATEGORIYA like ' + h2 + ' order by FIO '); Open; end;
@ПавелЛ-п3й
@ПавелЛ-п3й 4 жыл бұрын
Добрый день. Подскажите как сделать поиск по дате, где есть точки. Т. Е например 17.05.2020
@АнтонКурилов-к8л
@АнтонКурилов-к8л 3 жыл бұрын
В данном случае лучше использовать adoquery и в качестве параметра указывать тип date
@hitsislove3563
@hitsislove3563 8 жыл бұрын
procedure TForm2.Edit1Change(Sender: TObject); var j,k:string; begin j:='%'+Form2.Edit1.Text+'%'; k:=QuotedStr (j); with Form2.ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select * from Hitsi where Fullname like'+k+' or DateofBirth like'+k+' or Education like'+k+' or Position like'+k+' or Workexperience like'+k+' ORDER BY Fullname'); Open; end; end; Ошибка - ADOQuery1: cannot perform this operation on a closed dataset Помоги решить пожалуйста
@МатвейИнчин-ы1р
@МатвейИнчин-ы1р 3 жыл бұрын
У меня, автор, данные не отображаются.
@aidamur
@aidamur 8 жыл бұрын
ребята, у меня тут используется пробел в таблице. запрос без пробелов проходит. как быть? sql.Add('select * from uzhiv where Животные like '+help2+' or Классификация like'+help2+' or Количество like'+help2+' or Корм like'+help2+' or На продажу like'+QuotedStr(help2)+' or Цена за кг like'+QuotedStr(help2)+' order by животные');
@МухамедБекмагамбетов-й4х
@МухамедБекмагамбетов-й4х 7 жыл бұрын
Aidamur Elmezov знак подчеркивание
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
find:=QuotedStr('%'+form1.Edit1.Text+'%'); нахрена 2 переменные ? и запрос больше 255 знаков у меня лично не робит, а в целом по этому видео и разобрался что куда
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
Запрос если больше 255 нужно разбить кавычками и между поставить + типо 'Select * Form'+'la lal la'
@СтаніславОлександрович-г9б
@СтаніславОлександрович-г9б 3 жыл бұрын
Люди просто пишем без пробелов. На англ языке работает. Также ошибка может быть с числами, тогда указываем в акселе тип не числовой, а текстовый.
@abzahafafir
@abzahafafir 3 жыл бұрын
Писала без пробелов, ничего не сработало👍🏻👍🏻 Код в точности такой же
@СтаніславОлександрович-г9б
@СтаніславОлександрович-г9б 3 жыл бұрын
@@abzahafafir В этом Делфи всегда всё не так, надо шаманить, гляди заработает)
@bizhigittursunbaev8254
@bizhigittursunbaev8254 6 жыл бұрын
здраствуйте. я кодировал как ты точно точно но есть ошибка после запуска ПОМОГИТЕ
@victor_vosonov
@victor_vosonov 6 жыл бұрын
SQL запрос смотрите
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Виктор, добрый день! После того, как трижды перепроверил код и расставил все "лайки" и согласовал имена колонок - все заработало. Спасибо! Но у меня такой вопрос возник: как только начинаю пользоваться поисковиком тут же пропадает полоса прокрутки справа по всей таблице... Даже после того, как удаляю все из строки поиска, она все равно не работает. После перезапуска всей программы снова появляется ДО ТЕХ ПОР, пока не начинаю пользоваться поиском. Т.к. база данных состоит из 8к. записей, то это ОЧЕНЬ не удобно... В чем может быть проблема? Что посоветуете? Спасибо.
@victor_vosonov
@victor_vosonov 7 жыл бұрын
Привет! Скорее всего проблема в компоненте DBGrid. Он может подглючивать.
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Спасибо! Поковырял его немного и заработало. Что сделал, так толком и не понял :))) Но важен результат! Еще раз спасибо! ;)
@aidarallazharov4008
@aidarallazharov4008 7 жыл бұрын
procedure TForm1.Edit1Change(Sender: TObject); var help1, help2:string; begin help1:='%'+ Form1.Edit1.Text+'%'; help2:=QuotedStr(help1); with Form1.ADOQuery1 do begin close; SQL.Clear; SQL.Add('select * from db where Numb like'+help2+' or Name like'+help2+' or FName like'+help2+' or Fam like'+help2+' or Year like'+help2+' or Lau like'+help2+' order by Numb); Open; end; end; end. unterminated string выдает такую ошибку что это?
@victor_vosonov
@victor_vosonov 7 жыл бұрын
после like пробелы поставь
@Oleksii_Makhno
@Oleksii_Makhno 7 жыл бұрын
можно TForm1.Edit1.Text.. и все прочее без TForm1 ведь все в одном юните. Типа так: search := QuotedStr('%' + Edit1.Text + '%'); А search лучше передать, как параметр в ADOQuery1.Parameters.ParamValues['parameter'] := search, сделав SQL запрос параметризированным, типа ADOQuery1.SQLAdd('SELECT * FROM DB WHERE fam LIKE :parameter')
@Zikorko
@Zikorko 6 жыл бұрын
два раза пробовал по этому гайду, не фига не работала. Потом базу пересоединение по другому ( P.S данный способ подключения бд, есть тут devdelphi.ru/?p=16 ) с данным подключением бд все спокойно работает и ищет. Автору большое спасибо!
@kkasa4524
@kkasa4524 5 жыл бұрын
Спасибо большое, очень сильно помог.
@БақтиярАбенов-ф8д
@БақтиярАбенов-ф8д 8 жыл бұрын
МОжна ли с Adotable делать это все
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Бақтияр Абенов разумеется. По сути они мало чем между собой отличаются. Введи в ADOQuery в свойстве SQL что-то типа «select * from mytable” и ты получишь практически тот же ADOTable. Эти два класса, если память не подводит, потомки ADODataSet.
@deniskurylo1722
@deniskurylo1722 7 жыл бұрын
Подскажите плиз почему выбивает ошибку . Exception EDatabaseError in module Project1.exe at 0022D922 DBEdit1: Filed 'Марка автомобиля' not found
@МухамедБекмагамбетов-й4х
@МухамедБекмагамбетов-й4х 7 жыл бұрын
Denis Kurylo марка пробел автомобиля, данное поле в ексес нужно соединить подяеркиванием
@Trein267
@Trein267 6 жыл бұрын
У меня похожее Filed 'Полёт' not found и как решить хз. Может есть у кого идеи?
@АлматНурдаулет
@АлматНурдаулет 8 жыл бұрын
на дельфи 7 что написать вместо ADOQuery
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Алмат Нурдаулет то же самое.
@СергейКиселев-ы8э
@СергейКиселев-ы8э 8 жыл бұрын
ай нид хелп на код вроде не ругается но выдает ошибку параметр дата_рождения не имеет значения по умолчанию var a1,a2:String; begin a1:='%'+Form1.Edit1.Text+'%'; a2:=QuotedStr(a1); with Form1.ADOQuery1 do begin close; Sql.Clear; Sql.Add('select * from личное_дело where фамилия like'+a2+' or имя like '+a2+' or отчество like '+a2+' or пол like '+a2+' or дата_рождения like '+a2+' or телефон like '+a2+' or прописка_город like '+a2+' or прописка_адрес like '+a2+' or семейное_положение like '+a2+' or гражданство like '+a2+' or серия_паспорта like '+a2+' or номер_паспорта like '+a2+' or кем_выдан like '+a2+' or код_города like '+a2+' or когда_выдан like '+a2+' or Номер_договора like '+a2+' order by фамилия'); Open;
@victor_vosonov
@victor_vosonov 8 жыл бұрын
+Вес Вес Дело в том, что все названия столбцов должны быть без пробелов и на английском языке, как в запросе (коде), так и в бд на диске.
@СергейКиселев-ы8э
@СергейКиселев-ы8э 8 жыл бұрын
+Виктор Восонов спасибо
@user_notfound_user
@user_notfound_user 5 жыл бұрын
Автор не обьясняет свои действия , по бумажке делает наверное
@БақтиярАбенов-ф8д
@БақтиярАбенов-ф8д 8 жыл бұрын
procedure TForm1.Edit1Change(Sender: TObject); var search1, search2:string; begin search1:='%'+Form1.Edit1.Text+'%'; search2:=QuotedStr(search1); with Form1.ADOQuery1 do begin close; SQL.Clear; SQL.Add('select * from DBGrid1 where fam like'+search2+' or name1 like'+search2+'or name2 like'+search2+'or name2 like'+search2+' or tel like'+search2+' or fax like '+search2+' or prim like'); Open; end; end; точна как ты написал
@victor_vosonov
@victor_vosonov 8 жыл бұрын
+Бақтияр Абенов name2 два раза повторяется
@assylzhankhamiyev7176
@assylzhankhamiyev7176 4 жыл бұрын
вышла неопознанная ошибка
@Сергей_Шувалов
@Сергей_Шувалов 6 жыл бұрын
зачем шопотом говоришь?
@linilLka
@linilLka 7 жыл бұрын
СПАСИБО!!!!!!!!!!!!!!!!!!!
@OTGBXXL
@OTGBXXL 8 жыл бұрын
DBTel это названия бд? Или что?
@victor_vosonov
@victor_vosonov 8 жыл бұрын
+AnimParadocs это название таблицы. Смотрите урок №3 и почитайте учебники по SQL
@float8859
@float8859 9 жыл бұрын
ты бы еще шепотом говорил честно! но уроки хорошие
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
может у него дети спят )
@SuperArtx
@SuperArtx 8 жыл бұрын
Спасибо, очень помогло!
@АлсеитШаимкулов-э1й
@АлсеитШаимкулов-э1й 9 жыл бұрын
Дайте код
@Mckiri
@Mckiri 8 жыл бұрын
Круто, но хотелось бы, найти что-то по БД в текстовом файле, а не файле БД. Так, чтобы можно было с легкостью делать скажем в паскале.
@ВікторЛипка-л1с
@ВікторЛипка-л1с 8 жыл бұрын
я Все вводджу по вашому коді по відео ось він procedure TForm5.Edit1Change(Sender: TObject); var help1, help2:string; begin help1:='%'+Form5.Edit1.Text+'%'; help2:=QuotedStr(help1); with Form5.ADOQuery1 do begin close; SQL.Clear; SQL.Add('Select * from Справи where Клієнт like'+help2+'or Номер справи like'+help2+'or Дата проведення like'+help2+'or Статьlike'+help2+'or Клієнт like'+help2+'or Суддя like'+help2+'or Адвокат like'+help2+'or Тип злочину like'+help2+'or Стаття like'+help2+'order dy Клієнти'); Open; end; end; і в мене вискакує помилка "ошипка сінтексиса (пропущен оператор) В виражиніє запроса Клієнт like %o%or номер справи" і так дальше підажіть будь ласка що мені робити
@jizza7634
@jizza7634 8 жыл бұрын
Тоже !!! :((
@victor_vosonov
@victor_vosonov 8 жыл бұрын
+Віктор Липка весь запрос на английском, столбцы в бд тоже на английском
@ВікторЛипка-л1с
@ВікторЛипка-л1с 8 жыл бұрын
то мені писати на англійські значення слів які стоять у таблиці чи перейменувати самі стовпці у таблиці?
@victor_vosonov
@victor_vosonov 8 жыл бұрын
сами столбцы в таблице и в запросе поменять после переименования.
@wintv2751
@wintv2751 7 жыл бұрын
Все сделал как на видео без ошибок, а не ищет записи
@nvnip6217
@nvnip6217 9 жыл бұрын
КАК МОГЛО У ТЕБЯ ВСЁ ПОЛУЧИТЬСЯ, А У МЕНЯ НЕТ, ЕСЛИ Я СДЕЛАЛ ВСЁ ТОЖЕ САМОЕ, КАААААААК??
@victor_vosonov
@victor_vosonov 9 жыл бұрын
+nV NiP ОЧЕНЬ ВНИМАТЕЛЬНО необходимо писать запрос поиска, я с ним тоже много возился))))) проверь и отпишись)))))
@greggregr4291
@greggregr4291 8 жыл бұрын
Дрюкался два часа... оказывается написал form.... вместо from... (ПРОВЕРЯЙТЕ КОД!!!)
@Викторкирьянов-щ5д
@Викторкирьянов-щ5д 8 жыл бұрын
нормальные видео, Лайк
@samsow1548
@samsow1548 7 жыл бұрын
Братан уважуха
@СабирАбдуллин-к8к
@СабирАбдуллин-к8к 5 жыл бұрын
Пж погромче
@SynWise
@SynWise 8 жыл бұрын
"крутые скобки" пффф... какие нафиг скобки? Это максимум кавычки!
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Если уж "умничаешь", так называй вещи своими именами - апостроф!
@БақтиярАбенов-ф8д
@БақтиярАбенов-ф8д 8 жыл бұрын
Што та не так пашол
@dmitrygolik2176
@dmitrygolik2176 7 жыл бұрын
какой урок?! даже произнести не можешь что делаешь. "Учитель"
@Droazdeer
@Droazdeer 7 жыл бұрын
Код бы
@victor_vosonov
@victor_vosonov 7 жыл бұрын
в группе вконтакте
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 22 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 7 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
DELPHI Урок 6 Связи между таблицами (ADOQuery)
18:39
Виктор Восонов
Рет қаралды 28 М.
Работа с СУБД Firebird в Delphi
16:58
Itist.ru
Рет қаралды 9 М.
Delphi Урок 1 Создание формы, запуск второй формы
7:45
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 22 МЛН