H
huawdg
Unregistered / Unconfirmed
GUEST, unregistred user!
Delphi 6 的 WebSnap 中 DataSetAdapter 组件的 Locate 方法有一个大 BUG!!!
请看:
var LocateParams:TLocateParams;
with DataSetAdapter do
begin
LocateParams:=LocateParamsList.Add;
LocateParams.AdapterName:=Name;
LocateParams.AddParam('KeyfieldName','abc''');
Locate;//抛出“Unterminated string constant”异常!!(未终结的字符串常量
end;
可能 WebSnap DataSetAdapter 组件的记录定位都基于此 Locate 方法,
如果使用不当,你要惨了!
例如:
在 Web Application Page Module 上,
放一个 DataSetAdapter 组件,为它指定一个 DataSet 组件,让关键字段是字符串类型,
在 DataSetAdapter 的 Actions 中选取所有的 Action。
再配置 AdaptePageProducer 如下:
AdapterFieldGroup ,添加所有 Field
AdapterCommandGroup ,添加所有 Command
运行应用程序来测试:
1.点击 NewRow 按钮新添一条记录
2.输入字段值,在关键字段处输入:abc'
3.点击 Apply 提交记录
4.然后你不管按 NextRow, DeleteRow .....哪个按钮都不正常了
5.惨了! 先到数据库中手工删除这条记录吧,以后再想别的办法。
BORLAND 的设计人员怎么了???
请看:
var LocateParams:TLocateParams;
with DataSetAdapter do
begin
LocateParams:=LocateParamsList.Add;
LocateParams.AdapterName:=Name;
LocateParams.AddParam('KeyfieldName','abc''');
Locate;//抛出“Unterminated string constant”异常!!(未终结的字符串常量
end;
可能 WebSnap DataSetAdapter 组件的记录定位都基于此 Locate 方法,
如果使用不当,你要惨了!
例如:
在 Web Application Page Module 上,
放一个 DataSetAdapter 组件,为它指定一个 DataSet 组件,让关键字段是字符串类型,
在 DataSetAdapter 的 Actions 中选取所有的 Action。
再配置 AdaptePageProducer 如下:
AdapterFieldGroup ,添加所有 Field
AdapterCommandGroup ,添加所有 Command
运行应用程序来测试:
1.点击 NewRow 按钮新添一条记录
2.输入字段值,在关键字段处输入:abc'
3.点击 Apply 提交记录
4.然后你不管按 NextRow, DeleteRow .....哪个按钮都不正常了
5.惨了! 先到数据库中手工删除这条记录吧,以后再想别的办法。
BORLAND 的设计人员怎么了???