我有一個很長的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.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個字符)「錯誤。有趣的是,這不會發生在所有行中。我無法理解將受到影響和不會影響的區別。我需要在「+」號之後或之前換行。我該怎麼做呢?
什麼值的Formatter - > Delphi - >換行符 - >右邊距你有嗎?默認值(我記得)是80. – teran 2012-03-12 08:20:14
你真的需要在代碼中編寫長的sql嗎?您可以在數據庫中創建存儲過程,或將SQL保存在查詢組件(即在dfm文件中)或從其他文件或資源加載。 – teran 2012-03-12 08:37:06
@teran,右邊距是60.但是不管什麼價值,這個問題都不會發生在所有的行上。我知道你的SP是最好的選擇。我完全同意。 – 2012-03-12 10:23:31