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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2010, 17:45   #1
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
Радость Работа с DBGrid

ПРивет)) сразу к сути вопроса... все происходит в Delphi 7. на форме у меня DBGrid. На нем отображаются данные одной из таблиц базы данных, которую я подключил через ADOConnection. Как мне какой любо стринговой переменной присвоить значение одной из ячеек? Помогите кто может, плиз!!
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 23.09.2010, 17:51   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а поискать на форуме не судьба?

кратенько, DBGrid не содержит в себе данных, это лишь средство отображения данных из набора (dateset), который и связан с этим гридом.

вот оттуда и берите:
Код:
MyString := DataSet1.FieldByName("ПолеКуку").ASString;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.09.2010, 18:40   #3
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Но это же название столбца, верно? А мне нужно чтобы у MyString было значение ячейки, у которой столбец называется так-то, а строка так-то. Что-то похожее реально?
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 23.09.2010, 23:38   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Но это же название столбца, верно?
как правило да, но совсем не обязательно.
dbgrid.columns[1].title.caption:='это мое поле'//то что видим
dbgrid.columns[1].datafield:='myfield' //то что есть в БД и в DataSet

DataSet кроме свойств доступа к полям текущей записи (строки) имеет еще и методы изменения этой самой текущей (то бишь навигации по набору данных)
First|Next|Prev|Last|Locate. Выбери среди всех записей самую нужную, к примеру
DataSet.Locate('indfield','tttt',[]);
DataSet.Last
и после этого используй
mystring:=DataSet.Fieldbyname('myfi eld').asstring;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.09.2010, 04:01   #5
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

evg, а что должно быть вместо tttt и []?

я сделал вот так, все работает (в смысле ошибок не выдает), но в поле мемо ничего не появляется. Имя-название столбца, Ника-имя, расположенное в нужной мне ячейки(но мне нужно чтоб программа как-раз узнавала это имя, читая его из ячейки.)
Код:
DataSource1.DataSet.Locate('Имя','Ника',[]);
DataSource1.DataSet.Last;
s:= DataSource1.DataSet.Fieldbyname('Имя').AsString;
Memo1.Lines.Add(s);
Что посоветуете?

From artemavd: первый совет - это пользоваться кнопкой оформления кода #
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!

Последний раз редактировалось artemavd; 24.09.2010 в 07:27.
Марк Охман вне форума Ответить с цитированием
Старый 24.09.2010, 07:28   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Потому что, чтобы все работало, нужно использовать DBEdit и настроить его на нужное поле.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 24.09.2010, 08:17   #7
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Потому что, чтобы все работало, нужно использовать DBEdit и настроить его на нужное поле.
а где его взять и как настроить?
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Старый 24.09.2010, 08:40   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
DataSource1.DataSet.Locate('Имя','Ника',[]);
DataSource1.DataSet.Last;
s:= DataSource1.DataSet.Fieldbyname('Имя').AsString;
Memo1.Lines.Add(s);
Что посоветуете?
почитать в справке (F1) или книге или просто перевести на русский что есть Last
и задуматься а не слепо копировать.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.09.2010, 09:19   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
а где его взять и как настроить?
уффф...ну наверное они на вкладке Data Controls. Кидаете на форму DBEdit и настраиваете его свойство DataSource на нужный источник и указываете в свойстве DataField нужное поле.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.09.2010, 19:16   #10
Марк Охман
Форумчанин
 
Аватар для Марк Охман
 
Регистрация: 05.02.2010
Сообщений: 153
По умолчанию

всем спасибо) разобрался) извините за тупые вопросы(())))
Я начинающий web-программист) Не судите строго, плиз! Буду очень стараться!
Марк Охман вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа 2-х DBGrid по принцепу добовления данных в Accesse GhostBZ БД в Delphi 12 04.09.2009 17:45
работа с повторяющимися значениями в DBGrid-e GhostBZ БД в Delphi 6 01.09.2009 13:44
Работа с dbgrid. Antik163RUS БД в Delphi 3 24.09.2008 20:37
Работа с DBGrid HAMMAN Помощь студентам 2 10.05.2008 11:35
Работа с конкретной строкой в DBGrid alikon1 БД в Delphi 1 10.12.2007 09:07