query 最大能支持多长的字符串(100分)

  • 主题发起人 主题发起人 Yong
  • 开始时间 开始时间
Y

Yong

Unregistered / Unconfirmed
GUEST, unregistred user!
for i:=0 to 10000
query1.sql.add(Format('insert table1 values("%s",%d)',[IntToStr(i),i]))
会报错。


 
for i:=0 to 10000
query1.sql.add(Format('insert table1 values("%s",%d)',[IntToStr(i),i]))会报错。
10000 条语句 什莫机子不死机
加两句
query1.executesql;(记不太清了。就是让 sql 执行)
query1.clear;
 
呵呵,不清楚原来的语句,往里加,肯定要错的.query的最大长度应该
和不同的数据库有关吧
 
对于DELPHI的STRING型,R4支持64K,但数据库不能解释这样长的字段
设定过100个执行不就行了。

for i:=0 to 10000
begin
query1.sql.add(Format('insert table1 values("%s",%d)',
[IntToStr(i),i]));
if (i mod 100) = 0 then
begin
query1.execsql;
query1.sql.clear;
end;
end;
 
我原来用Delphi4时遇到过同样的问题,inprise的支持也说没办法,
sql就是不能太长。但用了delphi5就什么问题都没了。不过delphi5
只有TdatasetProvider,而没有Tprovider,移植的时候要注意这一点。
 
这样的语句最好别超过10k,一般情况下联合查询也不会出现这种情况.
 
昨天拼死也上不来,还刷新错了是
QUERY1。execsql;
query1。sql。clear;
正如 sherman 所说。不过 即使 sql 没有 限制 也不能写这莫长的语句。
要不得执行几个小时(夸张了) 一点数据库的高效性也没有了
 
Crane:在D5可以继续使用TPROVIDER的,如果你打开老程序,绝对没问题,如果
你喜欢,也可以从D4里剪贴一个过来用:")
 
To CJ:
我太知道可以继续使用TPROVIDER了(想起此事我就生气:< ),
可是,若想改变升级可就难上加难了,我曾经作了一个尝试,按照
delphi5.0的help方法将Tprovider升级为datasetprovider
其工作量还不如重做一个server!而且C端调用也很麻烦。
BTW:看到"dcom 3层 ...刷新.."的贴子了吗?介绍一下经验吧:)
 
sql的长度限制和数据有关.
 
我都忘了这个问题了,见者有分!
 

Similar threads

后退
顶部