Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

дабавить поле в dataset на клиенте   Найти похожие ветки 

 
Bless ©   (2006-05-12 15:30) [0]

Надо сделать сабж.
Т.е. добавить в ADORecordset-е поле, не имеющее физического представления в базе данных, но при этом доступное для редактирования.

Подошло бы что-то в духе
select field1, field2, cast(1 AS int) AS myField from t1
но myfield в этом случае - нередактируемое.

Единственный вариант, пришедший пока в голову, попахивает извращением:

create table #t (myField int)
insert into #t (myField) values(null)
select * from t1 cross join #t
drop table #t


Может есть что получше.
ClientDataSet не предлагать.


 
Zz_   (2006-05-12 16:54) [1]

>>select field1, field2, cast(1 AS int) AS myField from t1


select * from (
  select distinct field1, field2, cast(1 AS int) AS myField from t1
)Q


 
Bless ©   (2006-05-12 17:09) [2]


> Zz_   (12.05.06 16:54) [1]


При попытке редактирования
"Invalid object name "test_db..Q"". Process stopped. Use Step or Run to continue.


 
Zz_   (2006-05-12 17:40) [3]

LockType = adLockBatchOptimistic


 
Fay ©   (2006-05-13 12:28) [4]

Так можно хоть TADOTable юзать
if object_id("v_QWE") is not null
 drop view v_QWE
go
if object_id("QWE") is not null
 drop table QWE
go
create table QWE (
ID int not null primary key,
VAL varchar(20) null
)
go

create view v_QWE
with view_metadata
as
select
 ID,
 VAL,
 ASD = cast(null as varchar(30))
from dbo.QWE
go

create trigger tr_v_QWE_bi
on v_QWE
instead of insert
as
 insert into QWE (ID, VAL) select ID, VAL from INSERTED
go

create trigger tr_v_QWE_bu
on v_QWE
instead of update
as
 update Q set
   Q.VAL = I.VAL
 from QWE Q join INSERTED I on I.ID = Q.ID
go


 
Bless ©   (2006-05-15 09:29) [5]


> Zz_   (12.05.06 17:40) [3]


Дык, вызов UpdateBatch, все равно вызовет ту же ошибку.
Хотя, если редактировать нужно только это добавленное поле, то это тоже вариант. Запомню, спасибо.


> Fay ©   (13.05.06 12:28) [4]


Это, конечно, выход. Тем более, что мы как раз с 7-ой на 2000-ую успели перейти. :)

Спасибо.


 
novill   (2006-05-16 10:57) [6]

Залезьте в исходники, и исправьте там установку readonly на подобное поле.
В похожей ситауции, только это спасло ситуацию.



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1149666613
DevilDevil
2006-06-07 11:50
2006.07.16
1С & Delphi


15-1149859574
AlexanderMS
2006-06-09 17:26
2006.07.16
Задачка на сообразительность


8-1138619267
Noby
2006-01-30 14:07
2006.07.16
Разделение аудио потоков в AVI


15-1150338522
ВиндосМЕ
2006-06-15 06:28
2006.07.16
Firefox не будет работать на компьютерах с Windows 98/МЕ


2-1151429818
так себе
2006-06-27 21:36
2006.07.16
Ввод допустимых символов