Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 12.02.2018
Сообщений: 56

Работа с dbgird

20.02.2019, 22:27. Показов 1752. Ответов 11

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие формучане!
У меня есть таблица. Мне нужно найти строке в которой в поле name введено например значение - "Иван".
В этой строке мне нужно узнать, что введено в поле id.
Прошу помогите!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.02.2019, 22:27
Ответы с готовыми решениями:

DBGird
Подскажи как сделать, чтобы при нажатии на определенной строку в DBGird, в ComboBox отображалась определенная строка. И как сделать...

DBgird
Подскажите что надо прописать в собитиях на дабл клик

Округление в DBgird
AdoQuery1.SQL.Clear; ADoQuery1.SQL.Add('Select id,fio,svp,msis,os,kg,oevm,istdag, round(svp,0) as svp from att '); ...

11
Модератор
 Аватар для D1973
9926 / 6463 / 2457
Регистрация: 21.01.2014
Сообщений: 27,418
Записей в блоге: 3
21.02.2019, 06:55
Цитата Сообщение от Kirhanter Посмотреть сообщение
Мне нужно найти строке в которой в поле name введено например значение - "Иван".
SQL
1
SELECT * FROM <Your_Table_Name> WHERE Name = "Иван"
Добавлено через 4 минуты
Цитата Сообщение от Kirhanter Посмотреть сообщение
В этой строке мне нужно узнать, что введено в поле id
В какой "в этой"? Иванов в таблице БД может быть немеряно, поэтому надо конкретизировать, какого именно Ивана Вы ищите, т.е. в условии отбора добавить еще какое-то условие, которое может нужного Ивана идентифицировать однозначно. Только тогда можно будет получить его id
1
0 / 0 / 0
Регистрация: 12.02.2018
Сообщений: 56
21.02.2019, 15:01  [ТС]
Считайте, что Иван у меня один в таблице. Так как узнать его введённый id?
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
21.02.2019, 15:18
как-то так:
SQL
1
 SELECT id FROM <имя Вашей таблицы> WHERE Name='Иван'
1
0 / 0 / 0
Регистрация: 12.02.2018
Сообщений: 56
21.02.2019, 15:38  [ТС]
Добавлено через 13 секунд
Цитата Сообщение от Алекcей Посмотреть сообщение
SELECT id FROM <имя Вашей таблицы> WHERE Name='Иван'
А как например мне засунуть результат в переменную?
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
21.02.2019, 15:38
Delphi
1
iID:=ADOQuery1.Fields[0].asInteger;
0
Модератор
 Аватар для D1973
9926 / 6463 / 2457
Регистрация: 21.01.2014
Сообщений: 27,418
Записей в блоге: 3
21.02.2019, 15:53
Лучший ответ Сообщение было отмечено Kirhanter как решение

Решение

Delphi
1
2
3
4
5
6
var ID: integer;
...
FDQuery1.SQL.Text := 'SELECT id FROM My_Table_Name WHERE Name = :p';
FDQuery1.Params.ParamByName('p').AsString := Edit1.Text;
FDQuery1.Open;
ID := FDQuery1.FieldByName('id').AsInteger;
вместо FDQuery подставьте тот ...Query, который используете Вы (ADOQuery, IBQuery, ...)
Своего "Ивана" вы, предположительно, вписываете в поле ввода Edit1
0
0 / 0 / 0
Регистрация: 12.02.2018
Сообщений: 56
21.02.2019, 17:23  [ТС]
Y
Цитата Сообщение от D1973 Посмотреть сообщение
var ID: integer;
...
FDQuery1.SQL.Text := 'SELECT id FROM My_Table_Name WHERE Name = ';
FDQuery1.Params.ParamByName('p').AsStrin g := Edit1.Text;
FDQuery1.Open;
ID := FDQuery1.FieldByName('id').AsInteger;
Не работает. Выдаёт ошибку.
Миниатюры
Работа с dbgird   Работа с dbgird  
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
21.02.2019, 18:05
а так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
with MainForm do begin
  FDConnection.Connected:=true;
  with FDQuery1 do begin
     SQL.Text:='select id from users where name=:p;';
     Parameters[0].Value := resetlogin.Text;
     Open;
     if Fields[0].isNull then 
        ShowMessage('Такого пользователя нет')     
     else
        id:=Fields[0].asInteger;
  end;
end;
1
0 / 0 / 0
Регистрация: 12.02.2018
Сообщений: 56
21.02.2019, 18:48  [ТС]
Цитата Сообщение от Алекcей Посмотреть сообщение
а так
Нет, не работает. Скинул сам проект, может вы сможете найти ошибку.
Буду очень благодарен!
Вложения
Тип файла: rar GrikBik.rar (10.96 Мб, 3 просмотров)
0
554 / 484 / 191
Регистрация: 11.12.2013
Сообщений: 2,507
21.02.2019, 22:01
уберите из своей программы "m" из-за этого Вы получаете AccessViolation. с проектом не помогу т.к. у Вас база в MySQL, а у меня он не установлен
0
Модератор
 Аватар для D1973
9926 / 6463 / 2457
Регистрация: 21.01.2014
Сообщений: 27,418
Записей в блоге: 3
22.02.2019, 06:43
1. Вы объявили переменную m типа TMainForm... Нахрена - непонятно, но тем не менее: объект этого типа сначала надо создать, а потом использовать, одного объявления недостаточно...
2. Сначала Вы используете m, через строчку - MainForm!!! Зачем? Каша какая-то...
3. А где Вы увидели в моем примере, чтобы я сначала выполнял запрос, а потом пытался прописывать значение параметра, причем совсем в другой запрос? Да, да, m.FDQuery и MainForm.FDQuery - совершенно разные вещи...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.02.2019, 06:43
Помогаю со студенческими работами здесь

Нумерация в DBgird
Как пронумеровать столбцы в DBGrid,там список фамилий у меня. id использовал но, при добавлении новой записи id не по порядку сортирует. ...

Сумма из ячеек DBGird-ов
БД Access есть 4 одинаковых по структуре таблицы (DBGrid1, DBGrid2, DBGrid3, DBGrid4) нужно подсчитать сумму из вторых ячеек этих...

Перенос из одного dbgird в другой
Тема программы складской учет, есть форма &quot;приход&quot;, где содержится dbgrid с данными о приходе и второй dbgrid где содержатся товары и...

Выборка записей по Listbox и вывод результатов в DBGird
Разскажите пожалуйста как сделать Query запрос из БД таблицы выводил нужную запись на DBGird?

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru