动态强制约束编程

soaringsouth 2003-05-22 02:53:45
兄弟现在做三层的动态强制约束编程,有一个问题始终解决不了,就是服务器端编辑
DataSetProvider的属性,将业务约束写入的时候,就是不能,服务器端报错。代码如下:
//获取相关数据
ADOFulwel.SQL.Clear;
ADOFulwel.Close;
ADOFulwel.SQL.Add(str_sql) ;
vdata:=AS_GetRecords('dspFull',-1,Count,byte(Option),'',Params,vdata1);
//取业务约束数据
ADOQuery1.active;
//加入业务约束
Field:=dspFull.dataset.Fields[0];

while not ADOQuery1.Eof do
begin
I:=0 ;
Field:=ADOFulwel.Fields[0];
Field.ConstraintErrorMessage := ADOQuery1.fieldbyname('ConstraintErrorMessage').AsString;
Field.CustomConstraint := ADOQuery1.fieldbyname('CustomConstraint').AsString;
Field.DisplayLabel := ADOQuery1.fieldbyname('DisplayLabel').AsString ;
Field.EditMask := ADOQuery1.fieldbyname('EditMask').AsString ;
Field.Visible := ADOQuery1.fieldbyname('Visible').AsBoolean ;
Field.Required := ADOQuery1.fieldbyname('Required').AsBoolean ;
Field.ReadOnly := ADOQuery1.fieldbyname('ReadOnly').AsBoolean ;
end;
在给field的属性赋值时,系统报错。
哪位给看看??
...全文
71 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
soaringsouth 2003-05-27
  • 打赏
  • 举报
回复
Chinagoogle(青橄榄) 到 http://expert.csdn.net/Expert/topic/1822/1822895.xml?temp=.8045313 领分。
Chinagoogle 2003-05-27
  • 打赏
  • 举报
回复
while not ADOQuery1.Eof do
begin
showmessage('ok,begin upd fields pro.');
I:=0 ;
FieldName:=ADOQuery1.fieldbyname('fieldname').AsString ;
with ADOFulwel do
begin
fieldbyname(FieldName).EditMask:=ADOQuery1.fieldbyname('EditMask').AsString ;
fieldbyname(FieldName).ConstraintErrorMessage := ADOQuery1.fieldbyname('ConstraintErrorMessage').AsString;
fieldbyname(FieldName).CustomConstraint := ADOQuery1.fieldbyname('CustomConstraint').AsString;
fieldbyname(FieldName).DisplayLabel := ADOQuery1.fieldbyname('DisplayLabel').AsString ;
fieldbyname(FieldName).Visible := ADOQuery1.fieldbyname('Visible').AsBoolean ;
fieldbyname(FieldName).Required := ADOQuery1.fieldbyname('Required').AsBoolean ;
fieldbyname(FieldName).ReadOnly := ADOQuery1.fieldbyname('ReadOnly').AsBoolean ;
if fieldbyname(FieldName) is TNumericField then
begin
with fieldbyname(FieldName) as TNumericField do
DisplayFormat := ADOQuery1.fieldbyname('DisplayFormat').AsString ;
if fieldbyname(FieldName) is TFloatField then
with fieldbyname(FieldName) as TFloatField do
begin
MinValue := StrToInt( ADOQuery1.fieldbyname('MinValue').AsString );
MaxValue := StrToInt( ADOQuery1.fieldbyname('MaxValue').AsString );
end
else if fieldbyname(FieldName) is TBCDField then
with fieldbyname(FieldName) as TBCDField do
begin
MinValue := StrToInt( ADOQuery1.fieldbyname('MinValue').AsString );
MaxValue := StrToInt( ADOQuery1.fieldbyname('MaxValue').AsString );
end
else if fieldbyname(FieldName) is TIntegerField then
with fieldbyname(FieldName) as TIntegerField do
begin
MinValue := StrToInt( ADOQuery1.fieldbyname('MinValue').AsString );
MaxValue := StrToInt( ADOQuery1.fieldbyname('MaxValue').AsString );
end
else if fieldbyname(FieldName) is TLargeIntField then
with fieldbyname(FieldName) as TLargeIntField do
begin
MinValue := StrToInt( ADOQuery1.fieldbyname('MinValue').AsString );
MaxValue := StrToInt( ADOQuery1.fieldbyname('MaxValue').AsString );
end;
end
else if fieldbyname(FieldName) is TDateTimeField then
with fieldbyname(FieldName) as TDateTimeField do
DisplayFormat := ADOQuery1.fieldbyname('DisplayFormat').AsString ;
end;
end;
soaringsouth 2003-05-26
  • 打赏
  • 举报
回复
还是没有人来啊
soaringsouth 2003-05-23
  • 打赏
  • 举报
回复
我是要修改查询出的记录的Field属性。
lwk_hlj 2003-05-23
  • 打赏
  • 举报
回复
是不是得先add fields对像啊?
不一定对!
soaringsouth 2003-05-23
  • 打赏
  • 举报
回复
看看今天有没有戏
soaringsouth 2003-05-23
  • 打赏
  • 举报
回复
今晚食无味啊
soaringsouth 2003-05-22
  • 打赏
  • 举报
回复
完了,死定了!!
soaringsouth 2003-05-22
  • 打赏
  • 举报
回复
还up
99guo 2003-05-22
  • 打赏
  • 举报
回复
帮你up
soaringsouth 2003-05-22
  • 打赏
  • 举报
回复
再up
kataboy 2003-05-22
  • 打赏
  • 举报
回复
关注!
whitetiger8 2003-05-22
  • 打赏
  • 举报
回复
关注
soaringsouth 2003-05-22
  • 打赏
  • 举报
回复
自己up一下

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧