Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
1 / 1 / 1
Регистрация: 12.08.2015
Сообщений: 125

DBGrid, ADOQuery и запрос с Edit

19.11.2015, 16:29. Показов 2890. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Простите за простой вопрос, но полдня поисков не дало нужного результата. У меня не выводит данные запроса, введенный в Edit, в таблицу DBGrid

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TForm1::EditSearchChange(TObject *Sender)
{
    if (EditSearch->Text.IsEmpty()) { 
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT * FROM Patient");
        ADOQueryPatient->Open();
    }
    else { 
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT * FROM Patient WHERE [Name] LIKE '*"
                + EditSearch->Text + "*'");
        ADOQueryPatient->Open();
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.11.2015, 16:29
Ответы с готовыми решениями:

Запрос ADOQuery со сменой параметров и повторный вывод в DBGrid
Ребята, такая проблема, мучаюсь целый день. Есть следующий код: void __fastcall TForm4::SpeedButtonZAPRClick(TObject *Sender) { ...

Запрос AdoQuery, соединение с таблицами в разных формах. Delphi. DBGrid
Здравствуйте, помогите пожалуйста! В общем нужно чтоб при выборе определенного (курса)из грида, а после нажатии "выбрать",...

Delphi. SQL запрос ADOQuery. Выборка из Dbgrid в разных формах
помогите! не понимаю как сделать то что задумала. Есть таблица Курс (код, курс) и предметы(код, КодСтудента, кодДисциплины, кодСеместра,...

10
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
19.11.2015, 18:07
А как ты DBGrid подключил?
А так работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
if (EditSearch->Text.IsEmpty()) {
        ADOQueryPatient->Close();
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT * FROM Patient");
        ADOQueryPatient->Open();
    }
    else {
        ADOQueryPatient->Close(); 
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT * FROM Patient WHERE [Name] LIKE '"
                + EditSearch->Text + "%'");
        ADOQueryPatient->Open();
    }
0
1 / 1 / 1
Регистрация: 12.08.2015
Сообщений: 125
19.11.2015, 18:30  [ТС]
Подключил DBGrid с помощью ADOQuery + DataSourse

Нет работает

Добавлено через 9 минут
Я пробовал запрос с верхней части кода в нижнюю. Тогда отображает все записи при вводе в Edit
0
 Аватар для Chertenok_n_13
219 / 125 / 99
Регистрация: 14.03.2011
Сообщений: 628
20.11.2015, 00:42
попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
if (EditSearch->Text.IsEmpty()) { 
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT * FROM Patient");
        ADOQueryPatient->Open();
    }
    else { 
        ADOQueryPatient->SQL->Clear();
        ADOQueryPatient->SQL->Add("SELECT Patient.*, Patient.Name FROM Patient WHERE (((Patient.Name) LIKE \"*" + EditSearch->Text + "*\"));");
        ADOQueryPatient->Open();
    }
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,602
20.11.2015, 00:55
Цитата Сообщение от avpdnepr Посмотреть сообщение
У меня не выводит данные запроса, введенный в Edit, в таблицу DBGrid
Тогда запрос надо отправлять из в Edit вам это ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::btn1Click(TObject *Sender)
{
if (Trim(Edit1->Text)!="")
     {
        ADOQuery1->Close();
        ADOQuery1->SQL->Clear();
        ADOQuery1->SQL->Add(Edit1->Text);
        ADOQuery1->Open();
     }
     else
     {
        ADOQuery1->Close();
        ADOQuery1->SQL->Clear();
        ADOQuery1->SQL->Add(" SELECT * FROM Employees ");
        ADOQuery1->Open();
     }
}
Я пробовал запрос с верхней части кода в нижнюю. Тогда отображает все записи при вводе в Edit
или так ?
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
    ADOQuery1->Close();
    ADOQuery1->SQL->Clear();
    ADOQuery1->SQL->Add("SELECT *FROM Employees WHERE FirstName LIKE '"+ Trim(Edit1->Text)+"%'");
    ADOQuery1->Open();
 
}
Добавлено через 4 минуты
Chertenok_n_13, смотрите WHERE (((Patient.Name) LIKE "*" + EditSearch->Text + "*"));") EditSearch оператор случайно нажал пробел и потом набрал то что он хочет найти ... Trim не нужно ?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.11.2015, 01:06
Лучший ответ Сообщение было отмечено avpdnepr как решение

Решение

avpdnepr, а вы в админке проверяли ваш запрос? какие результаты получаются от запроса непосредственно в базе данных? я надеюсь, вы это сделали?
0
 Аватар для Chertenok_n_13
219 / 125 / 99
Регистрация: 14.03.2011
Сообщений: 628
20.11.2015, 07:34
xxbesoxx,фактически надо, но мне кажется ему до этого нужно самому дойти и разобраться.
0
1 / 1 / 1
Регистрация: 12.08.2015
Сообщений: 125
20.11.2015, 10:18  [ТС]
В Access работает запрос; в программе пустые строки показываются
0
 Аватар для Chertenok_n_13
219 / 125 / 99
Регистрация: 14.03.2011
Сообщений: 628
20.11.2015, 19:09
C++
1
ADOQueryPatient->SQL->Add("SELECT Patient.*, Patient.Name FROM Patient WHERE (((Patient.Name) LIKE \"%" + EditSearch->Text + "%\"));");
тогда так
0
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,602
20.11.2015, 19:47
Цитата Сообщение от avpdnepr Посмотреть сообщение
в программе пустые строки показываются
Так будет работать
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::EditSearchChange(TObject *Sender)
{
      ADOQueryPatient->Close;
      ADOQueryPatient->SQL->Clear();
      ADOQueryPatient->SQL->Add("SELECT * FROM Patient WHERE [Name] LIKE '"+ Trim(EditSearch->Text)+"%'");
      ADOQueryPatient->Open();
    
}
0
0 / 0 / 0
Регистрация: 13.07.2014
Сообщений: 54
06.12.2015, 14:13
DBEdit просто перетащи и под KeyDown дай SetFocus для обновления
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2015, 14:13
Помогаю со студенческими работами здесь

Запрос на редактирование данных в Edit-ах и для последующего добавления их в DbGrid
Ругается на скобки в параметре запроса. Запрос на редактирование данных в EDIT-ах и для последующего добавления его в DBGrid. Сделал...

Запрос ADOQuery внутри другого ADOQuery реален?
Помогите сформировать запрос для двух ADOQuery. Есть 2 таблицы БД mssql: sotrudniki , table_hlp(Вспомогательная таблица для делания...

Считать из поля Edit вписанное значение и через запрос (query) вывести строку с этим значением значением в dbgrid.
считать из поля Edit вписанное значение и через запрос (query) вывести строку с этим значением значением в dbgrid. Добавил query,...

Из ADOQuery в Edit
Помогите пожалуйста корректно вывести данные из выборки в Edit. Ситуация следующая: при попытке вывести таким образом ...

ADOQuery и Edit
Доброго времени суток, форумчане! Прошу вашей помощи ибо гугл и яндекс уже прячутся от меня в попытках отыскать решение вопроса... Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru