起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: bbsx

关于数据表缓存问题 **

[复制链接]
 楼主| 发表于 2006-3-23 09:45:38 | 显示全部楼层

不用数据缓存的后果

不用数据缓存,用户测试组都不愿意测试下去。
回复 支持 反对

使用道具 举报

发表于 2006-3-23 09:49:45 | 显示全部楼层
回贴速度太慢,请与技术支持联系,了解情况,提供方案
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 16:31:54 | 显示全部楼层

疑惑

电话中已经作过一些沟通,用其他方法也可以提高一些速度。但没有数据表缓存速度那么明显。
  而且,其中最重要的1条,不知道是不是电话沟通中技术人员的口误。其中提到是因为Sqlite这个桌面引擎不支持like。但根据我的了解,Sqlite是支持where 字段 like  '%abc%'的。
  附上证据:请仔细核对下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 16:36:06 | 显示全部楼层

证据1

1,系统本身

sqlite1.jpg

207.19 KB, 下载次数: 227

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 16:39:06 | 显示全部楼层

证据2

2网上关于sqlite的描述。

sqlite2.jpg

172.4 KB, 下载次数: 241

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 16:46:27 | 显示全部楼层

to 9楼

问:
  comp_base_info.片区编码 = 业务参数  条件,你是加在 查找数据集的SQL部分,还是“过虑”部分?
  答:
     这个条件是在设计数据集的时候添加的。见附图。

sql2.jpg

99.79 KB, 下载次数: 242

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 16:48:56 | 显示全部楼层

to 9楼

这是sql语句

sql3.jpg

197.06 KB, 下载次数: 240

回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 17:15:30 | 显示全部楼层

郁闷中。。。。

常量竟然可以:
使用数据表缓存
where comp_base_info.片区编码 like  '%1006%';结果出来。
where comp_base_info.片区编码 like  '1006%';结果也出来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-23 17:35:32 | 显示全部楼层

用一个变量也可以出来,怪了

变量竟然可以:
使用数据表缓存
在窗体里面的oncreate里面写:
var  pianqubianma:string
pianqubianma := '1006%'
where comp_base_info.片区编码 like  pianqubianma;结果出来。
这么说该bug是在数据集上的sql语句设计上才显示出来,请尽快给出回复。
回复 支持 反对

使用道具 举报

发表于 2006-3-24 11:07:26 | 显示全部楼层
经过确认,如楼主所说,这个应该是个BUG,已提交开发部,目前先请楼主用别的方法绕过吧。
方法:直接赋值SQL语句,不要使用参数,如下例子
procedure TMainForm.Button2Click(Sender: TObject);
var
  lSQLDataset: TSQLDataset;
begin
  lSQLDataset := DataSetBroker1.Dataset as TSQLDataset;
  lSQLDataset.SQL.Text := 'SELECT * FROM TEST_NW_NATION WHERE TEST_NW_NATION.NATIONNAME like ''aa%''';
  DataSetBroker1.Dataset.Close;
  DataSetBroker1.Dataset.Open;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 23:47 , Processed in 0.041718 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表