ADO exception "Current provider does not support..." |
缺席
|
yu168
一般會員 發表:29 回覆:27 積分:16 註冊:2002-06-28 發送簡訊給我 |
請教各位一個 ADO的問題, 我有一段指令會先 Create View 將一些表格組合起來, 然後再用Select 指令撈取資料
但是執行時都會發生 "Current provider does not support returning mulpile recordsets from a signle execution." 的錯誤, 不過一個是用 ADOCommand, 另一個是 ADOQuery, 所以有點被搞糊塗了, 不知到有沒有高手可以指導一下. 指令如下 <textarea class="delphi" rows="10" cols="60" name="code">begin CreateViewStr := ParseView(SP); //產生 Create View SQL 指令 DropViewStr := 'Drop View ' SP.View; //產生 Drop View 指令 SQLStr := ParseCMD(SP); //產生 Select 指令 with DM do begin if Connect(ADOConn) then begin ADOCmd.CommandText := CreateViewStr; ADOCmd.Execute; // Create View ADOQuery.SQL.Clear; ADOQuery.SQL.Add(SQLStr); try Application.ProcessMessages; ADOQuery.close; ADOQuery.Open; // Select 資料 except ShowMessage('[GetData]:取得資料失敗!'); end; ADOCmd.CommandText := DropViewStr; ADOCmd.Execute; // Drop View end; end; </textarea> |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
<textarea name="code" cols="60" rows="10" class="delphi">
begin
CreateViewStr := ParseView(SP);//產生 Create View SQL 指令
DropViewStr := 'Drop View ' SP.View; //產生 Drop View 指令
SQLStr := ParseCMD(SP);//產生 Select 指令
with DM do
begin
if Connect(ADOConn) then
begin
ADOCmd.CommandText := CreateViewStr;
ADOCmd.Execute; // Create View
ADOQuery.close; // 看一下ONLINE HELP就知道為何要先CLOSE。
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(SQLStr);
try
Application.ProcessMessages;
ADOQuery.Open; // Select 資料
except
ShowMessage('[GetData]:取得資料失敗!');
end;
ADOCmd.CommandText := DropViewStr;
ADOCmd.Execute;// Drop View end; end;
</textarea>
|
yu168
一般會員 發表:29 回覆:27 積分:16 註冊:2002-06-28 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |