动态设置query.sql,但语句太长,约800字符,系统不支持,请问如何解决。(50分)

  • 主题发起人 主题发起人 libaoliang
  • 开始时间 开始时间
L

libaoliang

Unregistered / Unconfirmed
GUEST, unregistred user!
动态设置query.sql,但语句太长,约800字符,系统不支持,
由于字段较多,必须使用这些,请问如何解决。
用query1.sql.add('memo1.text');是否可以?

 
不是SQL不支持,而是Delphi编辑器不支持。
你分几行写就OK了。
 
>>用query1.sql.add('memo1.text');是否可以?
*_* query1.sql.add(memo1.text);
 
Query.SQL.Clear;
Query.SQL.Add('Select Field1,');
Query.SQL.Add('Field2,');
Query.SQL.Add('Field3,');
Query.SQL.Add('Field4,');
Query.SQL.Add('Field5,');
..........................
Query.SQL.Add('Field10000');//如果你的表有这么多字段的话;
Query.SQL.Add('From TableName');
Query.SQL.Add('Where ...');
Query.SQL.Add('and ...');
....
Query.SQL.Add('Group By ......');
 
远帆:
我分了,
可还是不行,
我是这样分的:
query1.sql.add('select ......');
query1.sql.add(' ......');
query1.sql.add(' .....from bb');
不知道应该怎么分才可以,
而我在静态SQL中试过可以的。


 
var s:string;
begin
s:='select * from table1 ';
s:=s+'where ............';
s:=s+'............';
....................
..............
........
Query1.SQL.Add(s);


 
query1.sql.add('select field1,field2,field3');
query1.sql.add(', field4,field5,field6',.....);
query1.sql.add('from table where .....');
 
用Query1.Sql.Text :=memo1.Text
 
用query1.sql.add('memo1.text')是可以,由于字符太长。按照书写习惯必须分行来写.
把你的语句分别分成完整的几行来写,每行前面加上query1.sql.add('')里面的内容必须
和前一个语句相连接,逐行来写直到写完为止。
 
What about use Stored Procedure if the DBMS supports?
 
究竟用query1.sql.add('memo1.text');
行不行?
 
你贴完整一点,是不是没有注意空格?
 
query1.sql.add('memo1.text')肯定不行,试试query1.sql.add(memo1.text)
 
不是空格的问题
用query1.sql.add('select ......');
一行写不下,用多行写的,如下:
query1.sql.add('......');
query1.sql.add('......');
query1.sql.add('......');
结果系统提示不能超过255个字符,
而实际上该语句要用到890个字符
 
query1.sql.assign(memo1.text);
 
》结果系统提示不能超过255个字符,
》而实际上该语句要用到890个字符
没有遇到这种情况~
query1.sql.add(memo1.text) 一般情况下是可以的~
 
800个字符的语句没见过,这么长还不如用存储过程。
 
Query.sql是TStrings
query1.sql.assign(Memo1.Lines)
 
你是不是用的access数据库,如是,查询中字段数有限制
 
先用记事本写好,然后复制粘贴。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部