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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2013, 18:14   #11
Kalach
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
логично))
запрос то нужно прописать в ADOQuery1.SQL.Text
Вот кусок моего кода
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.ADD('Select Название,Автор,Жанр from HomeLib.dbo.Книги Order by ('+Combobox1.Text+')'); //рисует таблицу со столбцами Название,Автор,Жанр
 //отсортированную по выбранному в комбобоксе признаку
ADOQuery1.Open;

end;
И куда мне "приткнуть" ADOQuery1.SQL.Text так, чтоб в ДБМемо отображалось только одна запись выделенной в ДБГриде строки?
Kalach вне форума Ответить с цитированием
Старый 06.02.2013, 18:21   #12
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

ну так и пропиши в DataField название поля, которое ты хочешь отображать.
или
Код:
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='Select Название,Автор,Жанр from HomeLib.dbo.Книги Order by ('+Combobox1.Text+')';
  ADOQuery1.Open;
  DBMemo1.DataFiled := 'Жанр';
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 06.02.2013, 18:42   #13
Kalach
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
ну так и пропиши в DataField название поля, которое ты хочешь отображать.
или
Код:
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='Select Название,Автор,Жанр from HomeLib.dbo.Книги Order by ('+Combobox1.Text+')';
  ADOQuery1.Open;
  DBMemo1.DataFiled := 'Жанр';
end;
Переписал процедуру. Получилось
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.ADD('Select Название,Автор,Жанр from HomeLib.dbo.Книги Order by ('+Combobox1.Text+')');
ADOQuery1.Open;
ADOQuery1.Close;
ADOQuery1.SQL.Text:='Select dsc from HomeLib.dbo.Книги Order by ('+Combobox1.Text+')';
ADOQuery1.Open;
DBMemo1.DataField:= 'dsc';
end;
Запускается, но когда жмёшь кнопку, запускающую описанную процедуру, то пишет "поле "d" не найдено". Что за поле - не знаю
Kalach вне форума Ответить с цитированием
Старый 06.02.2013, 18:46   #14
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

а поле dsc есть в таблице?
и зачем 2 раза делать 1 и тот же запрос?
достаточно одного раза:
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT Название,Автор,Жанр, dsc FROM HomeLib.dbo.Книги ORDER BY ('+Combobox1.Text+')';
  ADOQuery1.Open;
  DBMemo1.DataField:= 'dsc';
end;
P.S. если, конечно, поле dsc есть в таблице. если его там нету - нужно вместо него указать правильное поле
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 06.02.2013, 18:50   #15
Kalach
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
а поле dsc есть в таблице?
и зачем 2 раза делать 1 и тот же запрос?
достаточно одного раза:
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text:='SELECT Название,Автор,Жанр, dsc FROM HomeLib.dbo.Книги ORDER BY ('+Combobox1.Text+')';
  ADOQuery1.Open;
  DBMemo1.DataField:= 'dsc';
end;
P.S. если, конечно, поле dsc есть в таблице. если его там нету - нужно вместо него указать правильное поле
Поспешил, исправил, но всё равно пишет "ДБМемо1: поле "d" не найдено".
Kalach вне форума Ответить с цитированием
Старый 06.02.2013, 18:52   #16
Kalach
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 10
По умолчанию

dsc есть в таблице Базы Данных
Kalach вне форума Ответить с цитированием
Старый 06.02.2013, 18:54   #17
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

у тебя DBMemo1.DataField заполненно чем то "левым" ... скорее всего это и есть первая буква слова dsc ... или допиши правильно значение и убери из кода строку DBMemo1.DataField:= 'dsc'; или просто очисти поле DBMemo1.DataField.
p.s. я бы сделал первое
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 06.02.2013 в 19:04.
Yurk@ вне форума Ответить с цитированием
Старый 06.02.2013, 18:59   #18
Kalach
Новичок
Джуниор
 
Регистрация: 06.02.2013
Сообщений: 10
По умолчанию

Действительно, при внимательном исследовании свойств дбмемемо там обнаружилась куча мусора. Тут уж ничего не поделаешь, на клаве устроилась кошка. Почистил, заработало)
Kalach вне форума Ответить с цитированием
Старый 07.02.2013, 07:02   #19
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Kalach Посмотреть сообщение
Действительно, при внимательном исследовании свойств дбмемемо там обнаружилась куча мусора. Тут уж ничего не поделаешь, на клаве устроилась кошка. Почистил, заработало)
Кошка это +100
superedward вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в Delphi присвоить полю DBEdit целочисленное значение поля из DBText (как правильно )? ГОСЕАН Помощь студентам 0 10.01.2012 06:12
Отображение вордовских данных при выборе поля таблицы xJohnx БД в Delphi 0 14.04.2011 19:52
присвоить переменной значение поля в последней записи таблицы KaimNotark БД в Delphi 1 03.02.2010 07:21
Как вывести значение полей из выделенной записи в DBGrid ? DS75 БД в Delphi 5 30.04.2009 13:40
Как выводить значения отдельных полей таблицы при выборе записи в DBGrid Sinker БД в Delphi 9 25.03.2009 12:28