Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Вниз

Дополнительное редактируемое поле в ADODataSet 


Jony   (2002-02-14 13:21) [0]

Как в ADODataSet вставить дополнительное поле, которое можно было бы редакьтровать (допустим, DBEdit)?



Fedorenko Igor   (2002-02-14 13:24) [1]

СМ ADODataSet1.FieldDefs ....



Jony   (2002-02-14 13:48) [2]

Насколько я понимаю, FieldDefs используется для динамического создания таблиц (определения в них полей) в БД. У меня несколько другой интерес. Мне нужно в DisignTime создать в ADODataSet поле, которого нет в таблице БД (в нем нет смысла), но оно мне нужно в программе для выполнения промежуточных расчетов с возможностью редактировать его в гриде или едите.Вычисляемые и, тем более , лукапные поля редактировать нельзя.



Johnmen   (2002-02-14 13:52) [3]

(не совсем правильно понимаешь);
см. выше ADODataSet1.FieldDefs , а также ADODataSet1.Fields.Add(...)(не совсем правильно понимаешь)



Fedorenko Igor   (2002-02-14 13:57) [4]

Что мешает добавить в запрос дополнительное поле?



Jony   (2002-02-14 15:21) [5]

Может кто-нибудь объяснит темному что и как делать.
Пытаюсь сделать поле через FieldDefs но после попытки открыть набор или добавить его в редактор полей набора через Add оно исчезает из редактора FieldDefs. А если я его создаю через редактор полей набора (NewField) как тип Data, то либо при попытке закрыть форму создания поля либо при открытии набора ругается, что такого поля в наборе нет.
Повторяю, мне нужно создать поле а наборе, а не в таблице БД.



Johnmen   (2002-02-14 16:22) [6]

Если хочешь добавить поле Data, то за ним должно скрываться реальное поле Table"а или Query, иначе можешь добавить лишь Calculate или Lookup.
Поэтому проще всего >Fedorenko Igor (14.02.02 13:57)



Jony   (2002-02-14 16:29) [7]

А можно конкретно. Я уже описал, что я делал. Как надо или что не так?



Fedorenko Igor   (2002-02-14 17:01) [8]

Я имел в виду следующую конструкцию:
(например для MS SQL7)
SELECT id, valcode, MyEditField=0 FROM Valuta
Результат:
id valcode MyEditField
----------- ------- -----------
1 SUR 0
2 USD 0
3 EUR 0
4 YE 0
5 NULL 0
6 NLG 0
Вот этот EditField можешь править как тебе удобно.
Т.е. тебе ничто не мешает создавать в получаемых наборах данных
любые поля с любыми типами данных.



Johnmen   (2002-02-14 17:02) [9]

Конкретно : SELECT ...,0 AS myfield FROM ...
В НД будет поле myfield типа int...
Но вряд ли оно будет редактируемым !

Общий ответ на ...Как в ADODataSet вставить дополнительное поле, которое можно было бы редакьтровать (допустим, DBEdit)? ... - никак...




kig   (2002-02-14 17:34) [10]

Попробуйте (с учетом ответов выше) следующее:

Считать клиентским курсором.
Отсоединить набор данных от БД (сбросить коннект в ADODataset в nil)

Возможно в этом случае поле "0 AS myfield" можно будет редактировать.



Анонимщик   (2002-02-14 20:05) [11]

А FieldDefs у ADO разве не ReadOnly? Я тоже как-то пытался, решил, что без извращений не получится.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.025 c
6-43126           ken                   2001-12-26 16:24  2002.03.14  
как написать прогу для переадресации сетевых потоков TCP/IP?


7-43204           3d                    2001-12-08 23:01  2002.03.14  
Мышь


7-43195           инкогнито             2001-12-04 16:14  2002.03.14  
Как писать .VXD драйвера?


3-42953           vopros                2002-02-15 13:04  2002.03.14  
Выскакивает ошибка Access Violetion..


1-43062           -=VOIR=-              2002-02-26 19:07  2002.03.14  
Графики в Delphi, как ими пользоваться?