用TADODataSet連上SQL,如回傳空記錄集,再執行.Close會發生目前記錄指標是EOF.. |
|
0316
一般會員 發表:32 回覆:19 積分:10 註冊:2002-07-03 發送簡訊給我 |
有一問題困擾好久,希望各位前輩能不吝指導
// 設定 dstMain(TADODataSet)屬行
SQLData.dstMain.Connection := SQLData.SQLCon;
SQLData.dstMain.CursorLocation := clUseClient;
SQLData.dstMain.CursorType := ctKeyset;
SQLData.dstMain.LockType := ltOptimistic;
// 第一次故意Select 空資料
sSQL := 'select Usr_Code, Usr_Name from Sys_Auth_M where Usr_Code = ''''';
if SQLData.dstMain.Active then
SQLData.dstMain.Close; // 此行因尚未執行.Open, 故不會執行
SQLData.dstMain.CommandText := sSQL;
SQLData.dstMain.Open;
SQLData.dstMain.First;
............
接下來開放任意查詢(有專屬查詢畫面)
// 假設Select有資料
sSQL := 'select Usr_Code, Usr_Name from Sys_Auth_M where Usr_Code = ''root''';
if SQLData.dstMain.Active then
SQLData.dstMain.Close; // 此行會出現[目前記錄指標是BOF或EOF....]
// 因目前SQLData.dstMain.RecordCount = 0
// 如將前面的LockType改成SQLData.dstMain.LockType := ltReadOnly
// 則不會發生錯誤
SQLData.dstMain.CommandText := sSQL;
SQLData.dstMain.Open;
SQLData.dstMain.First; 泓遠
------
泓遠 |
0316
一般會員 發表:32 回覆:19 積分:10 註冊:2002-07-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |