delphi6一个很大的BUG,大虾们来解决一下

yuweifengis 2014-03-29 05:23:08
procedure TForm1.Button1Click(Sender: TObject);
var
sSql: string;
ll_rowcount:integer;
begin
try
with ADOQuery1 do
begin
sSql := 'SELECT files FROM clwbz.ts_report where rptname = ''模版''';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := sSql;
ADOQuery1.Prepared;
ADOQuery1.Open;
ADOQuery1.First;
ll_rowcount := ADOQuery1.RecordCount;
showmessage(inttostr(ll_rowcount));
end;
ADOQuery1.Free;
except
on e: Exception do
begin
ADOQuery1.Free;
end;
end;
end;
这么一个简单的查询语句,后台oracle10是有数据的,adoquery里面查出来居然是0行。
网上查了很多资料,没有办法解决。哪个版本已经修正了对adoquery中动态SQL中文字符的解决办法了。
...全文
172 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuweifengis 2014-03-30
  • 打赏
  • 举报
回复
已解决, 1:首先和数据源有关系,分二种。微软和oracle,微软的不支持blob类型,oracle支持 2:微软的对中文字符集支持,oracle不支持中文字符集
fox600123 2014-03-29
  • 打赏
  • 举报
回复
字段rptname 是什么类型?固定长度还是可变长度?
linreky 2014-03-29
  • 打赏
  • 举报
回复
要加个数据库执行的语句吧 ADOQuery1.extsql 有点忘了,不知道是不是这么写
lhy 2014-03-29
  • 打赏
  • 举报
回复
也有可能和字段名有关,先检查自己。
踏雪无痕 2014-03-29
  • 打赏
  • 举报
回复
ADOQuery1.Prepared; ADOQuery1.Open; ADOQuery1.First; 只统计记录数有必要? 直接ADOQuery1.Open; 测试一下,查询有字段用*,可以判断是否那个字段的问题

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧