![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нужно добавить в DBGrid поле не содержащееся в Recordset [D7, MSSQL]
Йурий © (2003-09-16 12:12:00)
Такая проблема, мне нужно добавить поле в DBGrid не связанное с конкретным полем reordset, вычесляемое не подойдет...
Скажем, после открытия ADOQuery я вычисляю значения для этого поля один раз и они(значения) существуют до следующего открытия, а не как в вычисляемом поле вычесляются при каждой отрисовке данных...
На это поле нужно накладывать фильтры, сортировать на клиенте, с вычисляемыми это не проходит...
Спасибо!
Nikolay M. (2003-09-16 13:10:00) [21]
А что вообще за задача?
Может дело простым вспомогательным массивом в памяти обойдется?
Йурий (2003-09-16 13:07:00) [22]
И еще, при изметнении, он попытается отправить все это на сервер... Т.е. сохранить...
Sandman25 (2003-09-16 13:07:00) [23]
Кстати, а Вы Edit не забыли вызвать?
Sandman25 (2003-09-16 13:05:00) [24]
Жаль. Сейчас я попробую воспроизвести Вашу ситуацию...
Правда, в TQuery.
Йурий (2003-09-16 12:56:00) [25]
Попробывал, ругается DataSet not in edit or insert mode!
ADOQuery1.CanModify:=True; поставить не дает?
Sandman25 (2003-09-16 12:40:00) [26]
select *, cast ("" as char(20)) my_field
from table
AfterOpen пробежаться по DataSet и изменить значение my_field
Йурий (2003-09-16 12:35:00) [27]
Чото непонятно...
Число записей я всегда узнать могу по ADOQuery.RecordCount, а как поле-то создать чтоб оно было только на клиенте?!?!
Alex_ring (2003-09-16 12:25:00) [28]
Попробуй создать пустую Query
WITH WorkQuery do
begin
close;
sql.clear;
sql.add("select count(*),MAX(ID) AS M");
sql.add("from table1");
open;
end;
Table1.FieldByName(ID).AsInteger:=WorkQuery.fieldByName("M").AsInteger +1;
Вот пример где с помощью Query можно получить количество записей в таблице и присвоить значение новому полю
Йурий (2003-09-16 12:23:00) [29]
Точнее, добавить не в DBGrid, а в ADOQuery...