在Delphi程序中连Ms SQLServer,程序动态生成了n条insert语句(n有时会上千),当调用Query控件执行ExecSQL时,并且当n大于2XXX时,会报语法错误,而实际上那些动态生成的sql语法并没有问题,请问到底是什么问题?
解决方案 »
- 请教关于cxGridDBTableView的问题!
- 能不能给我一些串口的代码,给你多分!(帮顶也好哦)
- Stringgrid左边那一条灰色的怎么去掉啊?
- 怎样将分组查询后的结果集,在报表中显示后在对其中的列进行统计呢?
- delphi的支持者,请进
- 设计大型数据库(SQL2000SERVER)与小型数据库(.dbf)的区别?
- 帮我看看这个SQL语句为什么不行啊?
- 为什么BDE的DataBase不能连接Access2000数据库,只能连接Access97?
- 关于delphi5用ado连接access数据库的问题?(在线抢分)
- 怎样设计这样的报表,就是使每一条数据上面都显示字段名,就像工资单一样
- 这个打印时如何判断??
- 用QUICKREP打印时怎么能动态设置打印行数!!!!
query的text长度有限制。好像就是2048
建议你通过字符串输出,把SQL语句执行后,拷贝到查询分析器中执行。
=========================================
Query的text为string类型,其最大为 2GB
建议你通过字符串输出,把SQL语句执行后,拷贝到查询分析器中执行。”
=================================================================================
我把动态生成的语句减少在一定范围里,就不再出错或出错的语句不再是那一句了,如何解释?拷贝到查询分析器中执行应该也没有问题,因为每条语句都是由程序生成,都是形如“insert tablename('XXXX')”的语句,不存在语法错误问题。我现在不在单位,说不出具体错误,但我估计原因是在query里面的sql语句有长度限制,因为sql server报出来的错误是语法错误,而“错误”的一句“inse”是被截去了后半段的。