Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конкретное значение "ячейки" после SQL запроса, Как узнать значение поля после отбора ? 
:(
    Опции темы
Nowichok
Дата 23.6.2009, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 23.11.2006

Репутация: нет
Всего: нет



Понимаю, что вопрос с первого взгляда кажется 
элементарным. В интернете через поисковик конкретного ответа не нашёл.

Имеется БД в Access. Если я  через Delphi сделаю SQL запрос с фильтром конктреной строки (чтобы в итоге была найдена одна единственная строка), то как мне узнать конкретные значения полей найденной строки ??? Всегда работал с TDBGrid, там всё понятно было. Загрузил в Grid и прочитал. А напрямую как ?

Это сообщение отредактировал(а) Nowichok - 23.6.2009, 20:37
PM MAIL   Вверх
Akina
Дата 23.6.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Где Ваш код получения этой "единственной строки"? Включая определение использованных в нём переменных.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Nowichok
Дата 24.6.2009, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 23.11.2006

Репутация: нет
Всего: нет



Самый простой пример. БД - baza. 2 поля - ФИО и адрес.
Запрос : "Select * From baza Where FIO=Петров"

Как получить значение адреса у Петрова ?

Это как я на данный момент понимаю возможность реализации.
PM MAIL   Вверх
kin
Дата 24.6.2009, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Цитата(Nowichok @  23.6.2009,  19:50 Найти цитируемый пост)
Имеется БД в Access. Если я  через Delphi сделаю SQL запрос с фильтром конктреной строки (чтобы в итоге была найдена одна единственная строка), то как мне узнать конкретные значения полей найденной строки ??? Всегда работал с TDBGrid, там всё понятно было. Загрузил в Grid и прочитал. А напрямую как ?

Цитата(Nowichok @  24.6.2009,  06:56 Найти цитируемый пост)
Самый простой пример. БД - baza. 2 поля - ФИО и адрес.
Запрос : "Select * From baza Where FIO=Петров"

Во-первых, каким именно образом выполняется запрос??? Если правильно понял, то используется Delphi и TADO-компоненты типа TADOQuery и ему подобные, это так??? 

PM MAIL   Вверх
Nowichok
Дата 24.6.2009, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 23.11.2006

Репутация: нет
Всего: нет



Извиняюсь за неполноту вопроса. Да, вы правы - используется Delphi и TADO-компоненты.

Как Я это делаю - может и неверно. Хочу знать, как НАДО это делать smile
PM MAIL   Вверх
bopoha
Дата 24.6.2009, 11:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 21



Т.к. TADO в Delphi и ADO в MS Access имеют одинаковый интерфейс, то вот пример на VB:
Код

    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    
    Set rst = New ADODB.Recordset
    Set cnn = New ADODB.Connection
    
    cnn.Open "...", "...", "..."
    
    rst.Open "tbl1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    
    If Not rst.EOF Then
        MsgBox rst.Fields("Field").Value
    End If
    
    rst.Close
    cnn.Close


И вообще, пора учится нажимать F1, а не лезть в google. Там все есть!
PM MAIL WWW ICQ Skype GTalk   Вверх
kin
Дата 24.6.2009, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 9.5.2008

Репутация: нет
Всего: 6



Цитата(Nowichok @  24.6.2009,  10:06 Найти цитируемый пост)
Извиняюсь за неполноту вопроса. Да, вы правы - используется Delphi и TADO-компоненты.

В TADO-компонентах есть свойства и методы наследуемые от TDataSet, через которые организован доступ к полям, движение по записям и прочие вещи, думаю дальше через F1 разберешься...
PM MAIL   Вверх
Nowichok
Дата 25.6.2009, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 23.11.2006

Репутация: нет
Всего: нет



Спасибо. гляну.
PM MAIL   Вверх
Данкинг
Дата 25.6.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Nowichok @  24.6.2009,  07:56 Найти цитируемый пост)
Запрос : "Select * From baza Where FIO=Петров"

Как получить значение адреса у Петрова ?

Получить где именно? Если вывести данные в DbGrid - так ничего делать и не надо, достаточно этот DbGrid подключить к AdoQuery. Если вывести, к примеру, в ListBox, тогда надо пройтись в цикле по AdoQuery, добавляя адреса к списку ListBox'а.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ofer
Дата 26.6.2009, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: нет
Всего: 5



Если используешь TADOQuery, то можно так
Код

ADOQuery1.FieldByName('Address').AsString;


Цитата(Nowichok @  23.6.2009,  19:50 Найти цитируемый пост)
Если я  через Delphi сделаю SQL запрос с фильтром конктреной строки (чтобы в итоге была найдена одна единственная строка) 

Таким способом получешь сразу нужное значение.


Это сообщение отредактировал(а) Ofer - 26.6.2009, 09:18
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.