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

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

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

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

Күн бұрын

Пікірлер: 88
@PitSobaka
@PitSobaka 4 жыл бұрын
Да вы, батенька, профи! Эта "хрень" называется одинарная кавычка!) Но вообще то уроки неплохие!
@YuriiMokryi
@YuriiMokryi 8 жыл бұрын
Спасибо за видео! Материал мне очень пригодился!
@ДанилТокалов-ч9ф
@ДанилТокалов-ч9ф 3 жыл бұрын
Спасибо вам огромное ! Тем кто не понимает смотрите с первого видео!!!
@АлинаМашкова-п8у
@АлинаМашкова-п8у 4 жыл бұрын
Получилось, спасибо, долго не получалось, переписывала около 30 раз. И в бд все соединила и пробелы удалила, не выходила, хорошо, что в коменты залезла. Что бы не был пропущен оператор в самой базе нужно все написать на английском и без пробелов.
@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;
@MasterOfGophers
@MasterOfGophers 2 жыл бұрын
Наверно врядли кто-то ответит, но почему то данная поисковая строка работает у меня на 2х из 3х форм, на 3й форме при попытке ввода текста в Edit вылетает неопознанная ошибка с указанием на Recordset.Open(Source, ActiveConnection,. Код проверил 100 раз, точно такой же, заново делал форму несколько раз. Ничего не помогает =(
@amerym2118
@amerym2118 7 жыл бұрын
А как можно прописать, если используется ADOTable? Что нужно писать после begin? Помогите пожалуйста :(
@Заробіток-й4ъ
@Заробіток-й4ъ 3 жыл бұрын
а как сделать поиск если в таблице 40 полей? все перечесоять?
@rat2316
@rat2316 2 жыл бұрын
А как сделать это на двух связанных таблицах? Он находит все именая во всех категориях хотя должен только в выбранной категории имена находить?
@nikita_legend
@nikita_legend 3 ай бұрын
У Вас работает как в видео?
@unreal7524
@unreal7524 8 жыл бұрын
Проблема в типе. Попробуйте сделать это но уже только текстовыми полями. Например Имя, Фамилия , Отчество, Чтобы было только тексты.. Или же когда создаете базу то опишите цифру как текстовый (Alpha). У меня получился.. Спасибо большое Автору за видео урок
@battersline2004
@battersline2004 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 жыл бұрын
столкнулся с такой же проблемой, решение нашлось?
@МатвейИнчин-ы1р
@МатвейИнчин-ы1р 3 жыл бұрын
У меня, автор, данные не отображаются.
@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;
@КонстантинНиколаев-л5ц
@КонстантинНиколаев-л5ц 8 жыл бұрын
а как работает конструкция help1:=''%'+Edit1.Text+'%'; что даёт знак процента в апострофах до и после Edit?
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Константин Николаев возвращает все записи, содержащие подстроку в указанном столбце
@ShOkErKa
@ShOkErKa 6 жыл бұрын
Здравствуйте подскажите в чём ошибка? Компилирование проходит, но как только начинаю забивать в поиске что-то, то вылазит такая ошибка First chance exception at $76233EF2. Exception class EOleException with message 'Неопознанная ошибка'. Process Project1.exe (8036)
@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 Помоги решить пожалуйста
@kkasa4524
@kkasa4524 5 жыл бұрын
Спасибо большое, очень сильно помог.
@ПавелЛ-п3й
@ПавелЛ-п3й 4 жыл бұрын
Добрый день. Подскажите как сделать поиск по дате, где есть точки. Т. Е например 17.05.2020
@АнтонКурилов-к8л
@АнтонКурилов-к8л 3 жыл бұрын
В данном случае лучше использовать adoquery и в качестве параметра указывать тип date
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
find:=QuotedStr('%'+form1.Edit1.Text+'%'); нахрена 2 переменные ? и запрос больше 255 знаков у меня лично не робит, а в целом по этому видео и разобрался что куда
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
Запрос если больше 255 нужно разбить кавычками и между поставить + типо 'Select * Form'+'la lal la'
@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 пробелы поставь
@bizhigittursunbaev8254
@bizhigittursunbaev8254 6 жыл бұрын
здраствуйте. я кодировал как ты точно точно но есть ошибка после запуска ПОМОГИТЕ
@victor_vosonov
@victor_vosonov 6 жыл бұрын
SQL запрос смотрите
@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 знак подчеркивание
@Zikorko
@Zikorko 7 жыл бұрын
два раза пробовал по этому гайду, не фига не работала. Потом базу пересоединение по другому ( P.S данный способ подключения бд, есть тут devdelphi.ru/?p=16 ) с данным подключением бд все спокойно работает и ищет. Автору большое спасибо!
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Виктор, добрый день! После того, как трижды перепроверил код и расставил все "лайки" и согласовал имена колонок - все заработало. Спасибо! Но у меня такой вопрос возник: как только начинаю пользоваться поисковиком тут же пропадает полоса прокрутки справа по всей таблице... Даже после того, как удаляю все из строки поиска, она все равно не работает. После перезапуска всей программы снова появляется ДО ТЕХ ПОР, пока не начинаю пользоваться поиском. Т.к. база данных состоит из 8к. записей, то это ОЧЕНЬ не удобно... В чем может быть проблема? Что посоветуете? Спасибо.
@victor_vosonov
@victor_vosonov 7 жыл бұрын
Привет! Скорее всего проблема в компоненте DBGrid. Он может подглючивать.
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Спасибо! Поковырял его немного и заработало. Что сделал, так толком и не понял :))) Но важен результат! Еще раз спасибо! ;)
@linilLka
@linilLka 7 жыл бұрын
СПАСИБО!!!!!!!!!!!!!!!!!!!
@SuperArtx
@SuperArtx 8 жыл бұрын
Спасибо, очень помогло!
@БақтиярАбенов-ф8д
@БақтиярАбенов-ф8д 8 жыл бұрын
МОжна ли с Adotable делать это все
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Бақтияр Абенов разумеется. По сути они мало чем между собой отличаются. Введи в ADOQuery в свойстве SQL что-то типа «select * from mytable” и ты получишь практически тот же ADOTable. Эти два класса, если память не подводит, потомки ADODataSet.
@СтаніславОлександрович-г9б
@СтаніславОлександрович-г9б 3 жыл бұрын
Люди просто пишем без пробелов. На англ языке работает. Также ошибка может быть с числами, тогда указываем в акселе тип не числовой, а текстовый.
@abzahafafir
@abzahafafir 3 жыл бұрын
Писала без пробелов, ничего не сработало👍🏻👍🏻 Код в точности такой же
@СтаніславОлександрович-г9б
@СтаніславОлександрович-г9б 3 жыл бұрын
@@abzahafafir В этом Делфи всегда всё не так, надо шаманить, гляди заработает)
@АлматНурдаулет
@АлматНурдаулет 9 жыл бұрын
на дельфи 7 что написать вместо ADOQuery
@MrXlcoder
@MrXlcoder 5 жыл бұрын
Алмат Нурдаулет то же самое.
@user_notfound_user
@user_notfound_user 6 жыл бұрын
Автор не обьясняет свои действия , по бумажке делает наверное
@СергейКиселев-ы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 жыл бұрын
+Виктор Восонов спасибо
@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')
@assylzhankhamiyev7176
@assylzhankhamiyev7176 4 жыл бұрын
вышла неопознанная ошибка
@Сергей_Шувалов
@Сергей_Шувалов 6 жыл бұрын
зачем шопотом говоришь?
@OTGBXXL
@OTGBXXL 9 жыл бұрын
DBTel это названия бд? Или что?
@victor_vosonov
@victor_vosonov 9 жыл бұрын
+AnimParadocs это название таблицы. Смотрите урок №3 и почитайте учебники по SQL
@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 и как решить хз. Может есть у кого идеи?
@АлсеитШаимкулов-э1й
@АлсеитШаимкулов-э1й 9 жыл бұрын
Дайте код
@float8859
@float8859 9 жыл бұрын
ты бы еще шепотом говорил честно! но уроки хорошие
@Viktorxxx86
@Viktorxxx86 4 жыл бұрын
может у него дети спят )
@Mckiri
@Mckiri 8 жыл бұрын
Круто, но хотелось бы, найти что-то по БД в текстовом файле, а не файле БД. Так, чтобы можно было с легкостью делать скажем в паскале.
@nvnip6217
@nvnip6217 9 жыл бұрын
КАК МОГЛО У ТЕБЯ ВСЁ ПОЛУЧИТЬСЯ, А У МЕНЯ НЕТ, ЕСЛИ Я СДЕЛАЛ ВСЁ ТОЖЕ САМОЕ, КАААААААК??
@victor_vosonov
@victor_vosonov 9 жыл бұрын
+nV NiP ОЧЕНЬ ВНИМАТЕЛЬНО необходимо писать запрос поиска, я с ним тоже много возился))))) проверь и отпишись)))))
@greggregr4291
@greggregr4291 8 жыл бұрын
Дрюкался два часа... оказывается написал form.... вместо from... (ПРОВЕРЯЙТЕ КОД!!!)
@БақтиярАбенов-ф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 два раза повторяется
@samsow1548
@samsow1548 7 жыл бұрын
Братан уважуха
@ВікторЛипка-л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 жыл бұрын
Все сделал как на видео без ошибок, а не ищет записи
@Викторкирьянов-щ5д
@Викторкирьянов-щ5д 8 жыл бұрын
нормальные видео, Лайк
@СабирАбдуллин-к8к
@СабирАбдуллин-к8к 5 жыл бұрын
Пж погромче
@SynWise
@SynWise 8 жыл бұрын
"крутые скобки" пффф... какие нафиг скобки? Это максимум кавычки!
@Sibarit_Minsk
@Sibarit_Minsk 7 жыл бұрын
Если уж "умничаешь", так называй вещи своими именами - апостроф!
@dmitrygolik2176
@dmitrygolik2176 7 жыл бұрын
какой урок?! даже произнести не можешь что делаешь. "Учитель"
@БақтиярАбенов-ф8д
@БақтиярАбенов-ф8д 8 жыл бұрын
Што та не так пашол
@Droazdeer
@Droazdeer 7 жыл бұрын
Код бы
@victor_vosonov
@victor_vosonov 7 жыл бұрын
в группе вконтакте
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
DELPHI Урок 6 Связи между таблицами (ADOQuery)
18:39
Виктор Восонов
Рет қаралды 28 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 286 М.
Визитка программиста
19:40
Александр Красников
Рет қаралды 250 М.
как тебе будут продавать в 2025
16:22
Тихон Смирнов
Рет қаралды 462 М.