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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2012, 00:10   #1
Aza-Zel
 
Регистрация: 15.08.2012
Сообщений: 8
По умолчанию Как получить данные из 2 столбца DBGrid?

Здравствуйте. Для работы использовала Delphi7 + MySql.
В коде ниже я по клику на строку в DBGrid2 считываю данные из 1-го столбца для дальнейшего запроса. Необходимо так же считать данные из второго столбца для него же.
Название второго столбца, что выводится в DBGrid2 известно. На FieldByName делфи ругается.
(не очень понимаю: Fields[0] - это столбец 0? Fields[1] ничего не вывел )

Код:
procedure TForm2.DBGrid2CellClick(Column: TColumn);
var sr, sl:AnsiString;
begin
sr:='';
sr:=DBGrid2.Fields[0].AsString;
ZQuery3.Active:=false;
ZQuery3.SQL.Clear;
ZQuery3.SQL.Text:= 'SELECT код_детали, версия_эм, ТП, станок, разработчик FROM tp WHERE код_детали =' + sr + ' and версия_эм =' +sl;
ZQuery3.Active:=true;
end;
Вопрос, возможно, глупый) простите уж) но не разобралась..
Aza-Zel вне форума Ответить с цитированием
Старый 21.08.2012, 00:18   #2
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Где заносятся (и заносятся ли) данные в переменную sl?
FieldByName, надеюсь, вызывали у набора данных (DbGrid2.DataSource.DataSet.FieldBy Name ...), а не у TDBGrid?
astecenko вне форума Ответить с цитированием
Старый 21.08.2012, 00:23   #3
Aza-Zel
 
Регистрация: 15.08.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от astecenko Посмотреть сообщение
Где заносятся (и заносятся ли) данные в переменную sl?
FieldByName, надеюсь, вызывали у набора данных (DbGrid2.DataSource.DataSet.FieldBy Name ...), а не у TDBGrid?
Вот в переменную sl и надо занести значение из выделенной строки 2-го столбца.
Да, точно так. DbGrid2.DataSource.DataSet.FieldByN ame('версия_эм');

на что делфи выдал: incompatible types: 'string' and 'TField'
Aza-Zel вне форума Ответить с цитированием
Старый 21.08.2012, 09:11   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

потому что не указано тип значения поля которое читается:
Код:
var
sl1 :string;
...
sl1:=DbGrid2.DataSource.DataSet.FieldByName('версия_эм').AsString;
или 
DbGrid2.DataSource.DataSet.Fields[0].AsString;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 21.08.2012, 09:11   #5
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Цитата:
Сообщение от Aza-Zel Посмотреть сообщение
Вот в переменную sl и надо занести значение из выделенной строки 2-го столбца.
Тогда почему не заносите?
Цитата:
Сообщение от Aza-Zel Посмотреть сообщение
Да, точно так. DbGrid2.DataSource.DataSet.FieldByN ame('версия_эм');
на что делфи выдал: incompatible types: 'string' and 'TField'
Правильно выдал, надо же указать тип:
Код:
DbGrid2.DataSource.DataSet.FieldByName('версия_эм').AsString
astecenko вне форума Ответить с цитированием
Старый 21.08.2012, 09:13   #6
AlexMas
Пользователь
 
Аватар для AlexMas
 
Регистрация: 30.05.2012
Сообщений: 69
По умолчанию

FieldByName('fieldname').AsString;

upd: Флешмоб? :D
AlexMas вне форума Ответить с цитированием
Старый 21.08.2012, 09:32   #7
Aza-Zel
 
Регистрация: 15.08.2012
Сообщений: 8
По умолчанию

Лоханулась с AsString, простите) и спасибо, работает)
Aza-Zel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить данные из файла Ivol Microsoft Office Access 1 09.04.2011 00:11
Как извлечь в один массив данные из одного столбца в MySQL ? Novichok PHP Помощь студентам 0 25.03.2011 21:39
Как получить данные типа $4D, $5A... dolphin705 Общие вопросы Delphi 19 05.08.2010 19:35
Как получить данные из ftWideMemo? Хитрец БД в Delphi 1 17.05.2009 02:07
WebBrowser как получить данные ? M2k Работа с сетью в Delphi 0 07.06.2008 22:28