Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доступ к данным. [D6, Progress]


Igoryan ©   (2002-08-16 10:09:00) 

Уважаемые мастера, прошу Вас ответь на наверника простой вопрос (просто я наверное совсем деградировал).

Ситуация. Есть сервер БД (progress), используя BDE, через ODBC соединение, я, с помощью Query, выбираю данные и скидываю их в DBGrid.

Задача. До того, как данные отобразятся в гриде отредактировать их иметь возможность их обрабатывать (производить какие-то операции арифметические, строковые и т.д.).

Попытка решить задачу через ...fields[i].asstring. Привела к ошибке, суть которой заключается в том, что система ищет файл с названием таблицы(с которой я качаю).dbf и, есттественно не находит.


Jeer   (2002-08-16 12:24:00) [1]

Ok, все путем.


Igoryan   (2002-08-16 12:14:00) [2]

Уважаемый Jeer. Большое спасибо, моя проблема(кроме ДНК) действительно была в настройках Database.


Jeer   (2002-08-16 11:55:00) [3]

>4. Надо записать значение некоторых полей в различные места >(Label, Listbox и т.д.)


Так ПОЛЕЙ или всех ЗАПИСЕЙ некоторых полей ?

>2. Есть прога использующая BDE и соединение
Соединение с чем ?


Jeer   (2002-08-16 11:53:00) [4]

table C:\.....xxx.dbf not found
Ну откуда здесь должна взяться ЛОКАЛЬНАЯ таблица да еще dbf-формата, если Вы раьотаете с PROGRESS

Скорее всего у Вас не настроена TDatabase


Igoryan   (2002-08-16 11:51:00) [5]

Johnmen :
1. Есть ODBC соединение с сервером баз данных PROGRESS
2. Есть прога использующая BDE и соединение
3. В проге есть объект TQuery, он возвращает данные с сервака.
4. Надо записать значение некоторых полей в различные места (Label, Listbox и т.д.)


Igoryan   (2002-08-16 11:46:00) [6]

Для Jeer: возможно Вы лучше.

Цитирую ошибку на запрос select count(*) from xxx при использовании fields[0].asstring:

table C:\.....xxx.dbf not found
table C:\.....xxx.db not found
table C:\.....xxx.txt not found


Johnmen   (2002-08-16 11:41:00) [7]

М-да...
Igoryan, если еще не пропало желание получить ответ, приводи ВСЕ подробности (как соединяешься, как получаешь данные, как их обрабатываешь, какая ошибка[конкретно текст], что конкретнохочешь)...


Jeer   (2002-08-16 11:40:00) [8]

Скорее всего

Igoryan (16.08.02 10:09)
(просто я наверное совсем деградировал).

>Igoryan (16.08.02 11:29)
>Про fields[n].asstring(если про это говорится) я писал, ЕТА >ВЕЩЬ РАБОТАЕТ С ЛОКАЛЬНЫМИ ФАЙЛАМИ

А это и есть уже локальные данные, выдернутые запросом на клиента в буфер.

Вы хорошо понимаете движение данных и функциональность клиент-серверной технологии ?


Igoryan   (2002-08-16 11:29:00) [9]

Про fields[n].asstring(если про это говорится) я писал, ЕТА ВЕЩЬ РАБОТАЕТ С ЛОКАЛЬНЫМИ ФАЙЛАМИ(ТАБЛИЦАМИ например sex.dbf). У меня они идут с сервака СУБД PROGRESS.


Mike Kouzmine   (2002-08-16 11:22:00) [10]

q.AfterOpen
while not eof do
listbox.add(qn.asString)
Если это не работает, то не знаю


Igoryan   (2002-08-16 11:20:00) [11]

Например записать значение какого-нибудь поля в Tlabel.Caption, или добавить в TListBox и т.д.


Mike Kouzmine   (2002-08-16 11:16:00) [12]

Или я тупой или одно из двух.
Какие действия ты хочешь производить с выбранными данными перед показом? Напиши кусочек кода.


Igoryan   (2002-08-16 11:08:00) [13]

Ошибка повторяется.
Для справки:

Когда я как-то работал c серваком(SQL) через ADO, то там я делал так.

var rec:_recordset;
...
begin
rec:=AdoConnection.execute("select......");

, а у объекта recordset есть все необходимые методы для решения задачи.


Polevi   (2002-08-16 11:00:00) [14]

смотри OnGetText
- тогда label.caption := quSex.Fields[0].Text


Igoryan   (2002-08-16 10:48:00) [15]

Для Jeer: Читай начало.


Jeer   (2002-08-16 10:45:00) [16]

label.caption := quSex.Fields[0].AsString;


Igoryan   (2002-08-16 10:41:00) [17]

Плохо я наверное выражаю, то чего хочу.

Упростим все.

Запрос:
select count(*) from sex.

Как вывести результат в label.caption.


Mike Kouzmine   (2002-08-16 10:34:00) [18]

Так я и говорю про вычисляемые поля
select n, n1, n2+n3/n4 as z from ....
или в tquery создавать вычисляемые поля
onCalcFields
q1z.Value := q1n2.Value + q1n3.Value / q1n4.Value


Igoryan   (2002-08-16 10:28:00) [19]

С полями все нормально, все что мне нужно я selectom выбираю. Нужен кусок кода, пример обращения к данным (не в базе, а в памяти, "на лету").


Mike Kouzmine   (2002-08-16 10:12:00) [20]

Если не получается в запросе получить "вычисляемые" поля, то добавь их в tQuery, или я не понял вопроса?


Наверх

Титульная страница Поиск, карта сайта Написать письмо