Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2016, 20:35   #1
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Здравствуйте. Мне нужно: например в поле memo введено слово "idTom". По нажатию на кнопку, нужно что бы в edit1 и в edit2 записались данные из полей Наименование, Модель, из БД(Акцесс). Что находиться в БД:
Наименование:Ауди
Модель: Кабриолет
Идентификатор:idTom
Вообще это реально сделать?
Как подключить акцесс к дельфи я нашёл, уже подключил.

Если бы всё это завязывалось только на БД, то я думаю надо использовать запрос. Но мне надо именно по слову из memo

Последний раз редактировалось Stilet; 14.01.2016 в 20:34.
Sony_boy вне форума Ответить с цитированием
Старый 13.01.2016, 21:24   #2
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Если через запрос, попробуй так:
1)если добавишь на форму dbedit1 и dbedit2, то можно просто их подключить к нужному полю твоей базы и будет выглядеть так:
Код:
begin
with ADOQuery do
begin
    Close;
    SQL.Clear;
    SQL.Add('select *');
    SQL.Add('from Названиетаблицы');
    SQL.Add('where [Идентификатор] = '+QuotedStr(memo1.text));
    Open;
end;
end;
2) если все же хочешь с edit1 и 2 то между end'ами добавь:
Код:
edit1.text:=adoquery.fieldbyname('Наименование').asstring;
edit2.text:=adoquery.fieldbyname('Модель').asstring;
Ernest027 вне форума Ответить с цитированием
Старый 14.01.2016, 19:47   #3
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Спасибо! Буду пробовать! И еще вопрос-а если я подключу базу mysql, то код будет прежним?
Sony_boy вне форума Ответить с цитированием
Старый 15.01.2016, 11:07   #4
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

а вот этого точно сказать не могу, не пробовал. Должно уж работать.
Ernest027 вне форума Ответить с цитированием
Старый 18.01.2016, 19:48   #5
Sony_boy
Пользователь
 
Регистрация: 25.09.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
Если через запрос, попробуй так:
1)если добавишь на форму dbedit1 и dbedit2, то можно просто их подключить к нужному полю твоей базы и будет выглядеть так:
Код:
begin
with ADOQuery do
begin
    Close;
    SQL.Clear;
    SQL.Add('select *');
    SQL.Add('from Названиетаблицы');
    SQL.Add('where [Идентификатор] = '+QuotedStr(memo1.text));
    Open;
end;
end;
2) если все же хочешь с edit1 и 2 то между end'ами добавь:
Код:
edit1.text:=adoquery.fieldbyname('Наименование').asstring;
edit2.text:=adoquery.fieldbyname('Модель').asstring;
Пишет ошибку "idTom" не имеет параметра. Не знаешь с чем это связано?
Sony_boy вне форума Ответить с цитированием
Старый 22.01.2016, 10:09   #6
FoCUS313
 
Регистрация: 22.01.2016
Сообщений: 8
Радость

Общий вид работы с параметром через Query

Цитата:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add('select * from [таблица]');
Query.SQL.Add('where [поле] = :[параметр]');
Query.Prepare;
Query.ParamByName([параметр]).AsString := 'ТЕКСТ';
Query.Open;
http://orgsoft.xyz
FoCUS313 вне форума Ответить с цитированием
Старый 23.01.2016, 20:06   #7
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Как то так попробуй:
Код:
procedure TForm3.Memo1Change(Sender: TObject);
begin

Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Text:='SELECT Наименование FROM Таблица WHERE Идентификатор LIKE ''%'+Memo1.Text+'%'' ';
Form1.ADOQuery1.ExecSQL;
Edit1.text:= Form1.ADOQuery1.Fields[0].AsString;

Form1.ADOQuery2.SQL.Clear;
Form1.ADOQuery2.SQL.Text:='SELECT  Модель FROM Таблица WHERE Идентификатор LIKE ''%'+Memo1.Text+'%'' ';
Form1.ADOQuery2.ExecSQL;
Edit2.text:= Form1.ADOQuery2.Fields[0].AsString;
end;
MixanMM вне форума Ответить с цитированием
Старый 23.01.2016, 20:20   #8
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от MixanMM Посмотреть сообщение
Как то так попробуй:
Код:
procedure TForm3.Memo1Change(Sender: TObject);
begin

Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Text:='SELECT Наименование FROM Таблица WHERE Идентификатор LIKE ''%'+Memo1.Text+'%'' ';
Form1.ADOQuery1.ExecSQL;
Edit1.text:= Form1.ADOQuery1.Fields[0].AsString;

Form1.ADOQuery2.SQL.Clear;
Form1.ADOQuery2.SQL.Text:='SELECT  Модель FROM Таблица WHERE Идентификатор LIKE ''%'+Memo1.Text+'%'' ';
Form1.ADOQuery2.ExecSQL;
Edit2.text:= Form1.ADOQuery2.Fields[0].AsString;
end;
если ADOQuery2.SQL.Text:='SELECT потом надо Open и не ExecSQL; Книга полистайте если не читайте
xxbesoxx вне форума Ответить с цитированием
Старый 23.01.2016, 20:24   #9
MixanMM
Форумчанин
 
Регистрация: 09.06.2009
Сообщений: 151
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
если ADOQuery2.SQL.Text:='SELECT потом надо Open и не ExecSQL; Книга полистайте если не читайте
Согласен согласен, просто копипастингом занялся и запарился,.
Так надо примерно:
Код:
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.add('SELECT sum(cash) FROM dolg WHERE fio='''+q+'''');
Form1.ADOQuery1.open;
dolgi1:=Form1.ADOQuery1.Fields[0].AsFloat;
MixanMM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК наладить поиск по ключевому слову dkii Общие вопросы C/C++ 8 15.12.2013 19:47
С#/WindowsForms. Поиск документа по слову elena111 Помощь студентам 24 01.05.2013 00:25
Поиск по слову в cxGrid Ferkel Компоненты Delphi 4 20.06.2012 16:44
Как в ListBox реализовать поиск по ключевому слову Applod Компоненты Delphi 0 23.11.2011 15:03
Поиск по Ключевому слову Applod Компоненты Delphi 0 22.11.2011 21:21