博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cds.data:=dsp.data赋值有时会出现AV错误剖析
阅读量:6839 次
发布时间:2019-06-26

本文共 894 字,大约阅读时间需要 2 分钟。

cds.data:=dsp.data赋值有时会出现AV错误剖析

 

如果QUERY没有查询到任何数据,cds.data:=dsp.data赋值会触发AV错误。

大家知道,DATASNAP有许多远程方法就是返回OLEVARIANT类型的数据,当远程方法没有返回任何数据的时候,cds.data:=远程方法函数赋值的时候,同样会触发AV错误。

那么怎样解决此类问题呢?

1)中间件远程方法作如下处理

function TServerMethods1.QuerySql(const accountNo, sql: WideString): OleVariant;

var
d: TfrmDB;
begin
Result := null;  // 默认返回NULL
if (accountNo = '') or (sql = '') then
Exit;

2)客户端调用远程方法作如下处理

function TdmSys.QuerySQL(const sql: string; cds: TClientDataSet; accountno: string = '0'): Boolean;

var
v: OleVariant;
m: TServerMethods1Client;
begin
Result := False;
try
waitInfo.Show;
waitInfo.Update;

if appInfo.tier = 3 then

begin
if ConnectAppServer and (sql <> '') and (cds <> nil) then
begin
m := TServerMethods1Client.Create(SQLConnection1.DBXConnection);
v := m.QuerySQL(accountno, sql);
m.Free;
if not VarIsNull(v) then  // VarIsNull(v) 判断远程方法是否有返回数据
begin
cds.Data := v;
Result := True;
end;
end;

转载地址:http://oczul.baihongyu.com/

你可能感兴趣的文章
强大的图像效果处理功能
查看>>
Java并发AQS详解
查看>>
test.log文件传输到另一台服务器上 --rsync
查看>>
linux 系统管理之磁盘阵列RAID和压缩命令
查看>>
Widgets must be created in the GUI thread
查看>>
JQuery Highcharts图表控件使用说明
查看>>
python基础教程
查看>>
linux命令:function脚本编程之函数
查看>>
Linux性能监控之CPU利用率
查看>>
第九节 VMware View 6.0 菜鸟入门 连接服务器的安装和部署
查看>>
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
查看>>
C# 文件操作详解(二)---------FileInfo类
查看>>
Windows Server 2012系列---文件服务器资源管理器FSRM(2)
查看>>
JPA注解
查看>>
LogMiner详细讲解
查看>>
03.17基本控件的使用
查看>>
ElementaryOS 安装PhpStorm
查看>>
nutch与起点R3集成之笔记(二)
查看>>
ThinkPHP 统计查询
查看>>
厚黑学
查看>>