fastreport对TfrxADODatabase的调用注意事宜

最近在用fastreport 4.3调用TfrxADODatabase时,总出现用户 sa登录失败的提示,后来发现是连接字符串中多了一个 PersistSecurityInfo=False; 按这项替换掉就可以了,以下是我的代码,我用的三层结构,客户端必须从服务端取连接字符串
  1. ifnotDM_Common.HR_Socket.Connectedthen
  2. DM_Common.HR_Socket.Connected:=true;
  3. DM_Common.HR_Socket.AppServer.GetAdocnstring(tmpstr);
  4. DM_Common.L_adostring:=StringReplace(string(tmpstr),'PersistSecurityInfo=False;','',[]);//这一段是关键
  5. ReportADO:=TfrxADODatabase(Report.FindObject('adocn'));
  6. try
  7. ReportADO.Connected:=false;
  8. ReportADO.LoginPrompt:=false;
  9. ReportADO.DatabaseName:=DM_Common.L_adostring;//'Provider=SQLOLEDB.1;UserID=sa;Password=123;'
  10. //+'InitialCatalog=techlong;DataSource=192.168.0.11';
  11. //+'AutoTranslate=True;PacketSize=4096;'
  12. //+'UseEncryptionforData=False;Tagwithcolumncollationwhenpossible=False';//DM_Common.L_adostring;
  13. //ReportADO.IsWriting:=false;
  14. TfrxPictureView(Report.FindObject('Logo')).Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'logo.jpg');
  15. TfrxADODatabase(Report.FindObject('adocn')).Connected:=true;
  16. TfrxADOQuery(Report.FindObject('MainData')).SQL.Text:='ExecPrg_AS_BuyDocGetMain'+Quotedstr(OrderNum);
  17. TfrxADOQuery(Report.FindObject('MainData')).Open;
  18. TfrxADOQuery(Report.FindObject('DetailData')).SQL.Text:='ExecPrg_AS_BuyDocGetDetail'+Quotedstr(OrderNum);
  19. TfrxADOQuery(Report.FindObject('DetailData')).Open;
  20. Report.ShowReport;
  21. except
  22. end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值