cds.data:=dsp.data赋值有时会出现AV错误剖析
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;
cds.data:=dsp.data赋值有时会出现AV错误剖析相关推荐
- ABAP CDS(Core Data Service)的创建和使用
1. 新建CDS EClipse创建一个ABAP CDS PROJECT 选择Data Definition 设置属性 2. 实现CDS 实现代码 3. CDS的使用 在ABAP中调用CDS查询 SE ...
- CDS (W2) -- Features, Data, Text Processing
Features, Data, Text Processing 1. Features Examples of Features e.g. Home Type, Material Status, In ...
- Data truncation: Data too long for column 'xxx' at row 1
Data truncation: Data too long for column 'xxx' at row 1 完整的错误内容可能是下面这样的: 严重: Servlet.service() for ...
- Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com
Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com There's ...
- ML:MLOps系列讲解之《基于ML的软件的三个层次之01 Data: Data Engineering Pipelines》解读
ML:MLOps系列讲解之<基于ML的软件的三个层次之01 Data: Data Engineering Pipelines>解读 目录 <基于ML的软件的三个层次>解读 1. ...
- spring boot中data truncation data too long for column问题
为什么80%的码农都做不了架构师?>>> 问题 根据报错可知,就是之前在数据库中定义的字段太短了,存不下新的数据 解决 @Column(length = 3000)privat ...
- Data truncation: Data truncated for column/Data too long for column
数据截断:数据太长针对某列! Data truncation: Data too long for column 'dcontent' at row 1.我检查了以下.发现我插入到文本框里的表格的长度 ...
- 静态时序分析——Data to data check
setup和hold的检查也有可能发生在任意两个数据端口,其中不包括时钟端口. 我们将其中一个端口(pin)设置为约束端口(constrainted pin),就像触发器中的数据端口:将另一个一个端口 ...
- 解决:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘ip‘ at row 1
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 报错: SQL []; Data truncation: Data too long for ...
最新文章
- 数据结构Java实现03----单向链表的插入和删除b
- 无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件...
- UVa 1025 A Spy in the Metro
- ubuntu16.04安装MATLAB R2017b步骤详解(附完整破解文件包)
- 找出性能消耗是第一步,如何解决问题才是关键
- Eclipse安装试用Hanlp
- 【HDU】1695 GCD
- 【招聘内推】百度地图招聘推荐推送算法工程师
- 【Xilinx-Petalinux学习】-02-建立PetaLinux工程
- Python:代码规范和命名规范
- 实对称矩阵的特征值求法_机器学习和线性代数 - 特征值和特征向量
- Prewitt算子边缘检测原理及实现
- JAVA代码托管平台_推荐几个常用的代码托管平台
- Java网络编程——基本网络支持
- 低延迟平价游戏蓝牙耳机推荐,2021值得入手的五款品牌蓝牙耳机
- FCOS:Fully Convolutional One-Stage Object Detection 论文翻译(非解读)
- 【JDBC】JDBC 简介 ( JDBC 概念 | JDBC 本质 | 使用 JDBC 操作数据库的好处 | JDBC 提供的 API 组件 )
- xcodebuild命令
- USB-IF介绍及标准下载
- C++ 引用Lib和Dll的方法总结