F
fjhst
Unregistered / Unconfirmed
GUEST, unregistred user!
这些纪录以dbf数据库以日期存在,从10万条到百万条不等, 如sh020410.dbf, sh020411.dbf, sh020412.dbf, sh020413.dbf, sh020414.dbf。。。
这些数据库的关键字及索引是在程序中使用如下代码指定创建的:
//指动主关键字, 'ZQDM':证券代码;这各字段的值不是唯一的(下面这一行我可能用错了)
IndexDefs.Add('', 'ZQDM', [ixPrimary, ixUnique]);
//建立主索引
AddIndex('','ZQDM',[ixPrimary]);
生成的索引是.cdx文件(什么是.mdx文件, 有何区别?)
我查询所使用的伪代码:
//DTPEnd.DateTime:终止时间, DTPStart.DateTime:起始时间
for i:=0 to trunc(DTPEnd.DateTime-DTPStart.DateTime) do //生成sql查询语句并执行
begin
FileName:=FilePath+IntToStr(i)+'.dbf';
if FileExists(FileName) then
begin
Sql := 'select * from +#39+FileName+#39 where ZQDM ="600120"';
Query1.Close();
Query1.SQL.Clear();
Query1.SQL.Add(Sql);
Qry1.Open();
end;
end;
执行:当Sql := 'select * from +#39+FileName+#39 where ZQDM ="600120"'时, 很快有结果;
当Sql := 'select * from +#39+FileName+#39 where ZQDM ="600121"'时, 程序停止响应;
我在SQL Explorer中执行上述语句, 通常是前一两个查询通过, 后面的就停止响应了。。。why?上述情况如何解决?
事情就是这样的。 我是新手, 接触windows 和数据库才10来天, 很多不懂得, 请多多指教!
感谢你的关注与帮忙。
这些数据库的关键字及索引是在程序中使用如下代码指定创建的:
//指动主关键字, 'ZQDM':证券代码;这各字段的值不是唯一的(下面这一行我可能用错了)
IndexDefs.Add('', 'ZQDM', [ixPrimary, ixUnique]);
//建立主索引
AddIndex('','ZQDM',[ixPrimary]);
生成的索引是.cdx文件(什么是.mdx文件, 有何区别?)
我查询所使用的伪代码:
//DTPEnd.DateTime:终止时间, DTPStart.DateTime:起始时间
for i:=0 to trunc(DTPEnd.DateTime-DTPStart.DateTime) do //生成sql查询语句并执行
begin
FileName:=FilePath+IntToStr(i)+'.dbf';
if FileExists(FileName) then
begin
Sql := 'select * from +#39+FileName+#39 where ZQDM ="600120"';
Query1.Close();
Query1.SQL.Clear();
Query1.SQL.Add(Sql);
Qry1.Open();
end;
end;
执行:当Sql := 'select * from +#39+FileName+#39 where ZQDM ="600120"'时, 很快有结果;
当Sql := 'select * from +#39+FileName+#39 where ZQDM ="600121"'时, 程序停止响应;
我在SQL Explorer中执行上述语句, 通常是前一两个查询通过, 后面的就停止响应了。。。why?上述情况如何解决?
事情就是这样的。 我是新手, 接触windows 和数据库才10来天, 很多不懂得, 请多多指教!
感谢你的关注与帮忙。