我在中间层写了一个方法
procedure TDataSrv.ExecSqlBatch(sqltext: OleVariant);
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add(sqltext);
adoquery2.Open;
end;客户端调用如下
procedure TFNewHF.BtnOKClick(Sender: TObject);
var
sss:tstringlist;
begin
sss:=TStringList.Create;
sss.Add('SET XACT_ABORT ON');
sss.Add('Begin TransAction');
sss.Add('update khsj set lasthf=''20070101'' where khh=''11100001''');
sss.Add('Insert Into thf(khh,xm,hfry,hfrq)');
sss.Add('Values(''1'',''Name1'',''www'',''200905hhhh06'')');
sss.Add('Commit TransAction');
dm.SocketConnection1.AppServer.execsqlbatch(sss.Text);
end;
客户端运行的时候sss.text传到中间层看sqltext内容只有前4句,'Values(''1'',''Name1'',''www'',''200905hhhh06'')'和后面的内容就没有了,请问如何解决?
procedure TDataSrv.ExecSqlBatch(sqltext: OleVariant);
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add(sqltext);
adoquery2.Open;
end;客户端调用如下
procedure TFNewHF.BtnOKClick(Sender: TObject);
var
sss:tstringlist;
begin
sss:=TStringList.Create;
sss.Add('SET XACT_ABORT ON');
sss.Add('Begin TransAction');
sss.Add('update khsj set lasthf=''20070101'' where khh=''11100001''');
sss.Add('Insert Into thf(khh,xm,hfry,hfrq)');
sss.Add('Values(''1'',''Name1'',''www'',''200905hhhh06'')');
sss.Add('Commit TransAction');
dm.SocketConnection1.AppServer.execsqlbatch(sss.Text);
end;
客户端运行的时候sss.text传到中间层看sqltext内容只有前4句,'Values(''1'',''Name1'',''www'',''200905hhhh06'')'和后面的内容就没有了,请问如何解决?
解决方案 »
- 问一个串口通计时的问题,麻烦了
- delphi写的DLL不能被RUNDLL32调用吗
- 请教rmvb的文件格式说明.最好有详细的文档,不要什么转换工具之类的东东!
- 一个比较棘手的问题,请大家教教我好吗
- 使用delphi开发vod点播系统,用的是神龙卡5,需不需要神龙卡得开发包,那个东西该怎么控制呀?????
- 高手指点:给个好的图标制作工具,找了半天没有,最好是能加文字的软件,谢谢!
- 在Delphi中调用VB中的财务运算函数?
- 为什么我的QReport里,Custom size在定义纸张大小时,一超过2540就说VALUE TOO BIG!
- 请问CSDN管理员大霞:结贴时提示:"贴子回复次数大于跟给分次数",无法结贴,怎么回事?
- 求救,求用delphi实现将sql server中的数据导入oracle的方法
- 模拟键盘操作问题!
- 在线请教高手!delphi中如何解决TShortcutBar.AddImageList(const ImageList: IDispatch);的使用
我试过在中间层定义一个sss:tstringlist变量,然后sss.text:=sqltext,查看sss的值也是只有前半部分to dacsd
我把客户端里添加的每一个字符串长度改小一点,同样还是有 sss.Add('Values(''1'',''N'',''w'',''6'')')就可以传到中间层所以我怀疑还是sqltext: OleVariant长度不够