線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1122
推到 Plurk!
推到 Facebook!

當SQLDataSet無法消化SQL命令時的替代方案

 
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-12-01 23:18:41 IP:1.160.xxx.xxx 未訂閱
 在開發時可能會遇到超長SQL,尤其是T-SQL,介於StoredProc和SQL之間,有時候SQLDataSet根本就不吃你給的命令

這時可以考慮交給SQLConnection直上,而且還會回傳一個TCustomSQLDataSet,實戰上更可以縮減一部分的指令碼

以下是簡單的Code

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var csds:TCustomSQLDataset;S:string;i:integer;
begin
SQLConnection1.Execute('SELECT * FROM content',nil,@csds);
try
S := '';
if csds <> nil then
begin
csds.Active := true;
while not csds.EOF do
begin
for i := 0 to csds.FieldCount -1 do
S := S ', ' csds.Fields[i].AsString;
csds.Next;
S := S #13#10;
end;
end;
ShowMessage(S);
except
Exit;
end;
end;
[/code]



是不是相當簡潔有力呢?
編輯記錄
GrandRURU 重新編輯於 2011-12-01 08:20:35, 註解 無‧
GrandRURU 重新編輯於 2011-12-01 08:22:42, 註解 無‧
mybank98
一般會員


發表:4
回覆:14
積分:3
註冊:2006-09-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-12-02 20:13:14 IP:59.125.xxx.xxx 訂閱
方法不錯
我的作法是用一個String變數,這樣即使超過 255字元,也是會被接受,不過我用的元件跟您不同,我是用SQLQuery元件
------
Delphi程式設計工作室
網址:http://www.myhome.url.tw/
Mail:mybanksoft@gmail.com
系統時間:2024-04-25 21:46:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!