我有一个很长的SQL文本,我想分配给查询SQL.我这样做的方式如下: SQL.Text:= 'SELECT T1.COLUMN1,T2.COLUMN2,T1COLUMN3..........,'+ ' T1.COLUMNn FROM TABLE1 T1 INNER JOIN '+ ' TABLE2 T2 ON T1.ID=T2.ID'+ ' WHERE T1.COLUMN1
SQL.Text:= 'SELECT T1.COLUMN1,T2.COLUMN2,T1COLUMN3..........,'+ ' T1.COLUMNn FROM TABLE1 T1 INNER JOIN '+ ' TABLE2 T2 ON T1.ID=T2.ID'+ ' WHERE T1.COLUMN10=100'
实际的SQL比这长20倍.我的问题在于换行符.当我格式化源代码(Ctrl D)时,它有时会留下我输入的行,但有时它会删除换行符,我会得到这样的结果:
'SELECT T1.COLUMN1,T2.COLUMN2,T1COLUMN3 ' + 'FROM TABLE1 T1 INNER JOIN '+ 'TABLE2 T2 ON T1.ID=T2.ID'
这导致“行太长(超过1023个字符)”错误.有趣的是,所有这些都不会发生这种情况.我无法理解受影响的线和不受影响的线之间的区别.我需要在“”标志之后或之前换行.我该怎么做呢?
尝试在每一行中分配值:SQL.Text := 'SELECT T1.COLUMN1,T2.COLUMN2,T1COLUMN3..........,'; SQL.Text := SQL.Text + ' T1.COLUMNn FROM TABLE1 T1 INNER JOIN '; SQL.Text := SQL.Text + ' TABLE2 T2 ON T1.ID=T2.ID'; SQL.Text := SQL.Text + ' WHERE T1.COLUMN10=100';
我知道它看起来很难看,但我认为它解决了你的问题.