請問一下 ADOStoreProc的ProcedureName設定 |
尚未結案
|
goodjimmy
一般會員 發表:20 回覆:26 積分:9 註冊:2004-02-19 發送簡訊給我 |
|
Tony-Tang
一般會員 發表:7 回覆:17 積分:9 註冊:2003-10-21 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var NameField: TField; DataSet: TADODataSet; begin DataSet := TADODataSet.Create(nil); DataSet.Connection := ADOConnection; try ADOConnection.openSchema(siProcedures, EmptyParam, EmptyParam, DataSet); NameField := DataSet.FieldByName('PROCEDURE_NAME'); while not DataSet.EOF do begin ComboBox.Items.Add(NameField.AsString); DataSet.Next; end; finally DataSet.Free; end; end;不知道這是不是你要的答案呢 發表人 - Tony-Tang 於 2004/11/22 09:45:18 |
goodjimmy
一般會員 發表:20 回覆:26 積分:9 註冊:2004-02-19 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi goodjimmy, 根據你的問題描述,Tony-Tang 所提供的程式碼應該可以達到你要的功能,你可以先行試試。 但是 TADOStoredProc 在選擇 ProcedureName 時,會連 Package、Function、Procedure 都會一起列出,因此你可以先確認連接資料庫的帳號有足夠權限,並更改為以下寫法
procedure TForm1.Button1Click(Sender: TObject); var Query : TADOQuery; begin Query := TADOQuery.Create(Self); try Query.Connection := ADOConnection1; ComboBox1.Clear; Query.Close; Query.SQL.Text := 'select owner || ' Quotedstr('.') ' || object_name object_name from sys.all_objects where object_type = ' QuotedStr('PROCEDURE'); Query.Open; While not Query.Eof do begin ComboBox1.Items.Add(Query.FieldByName('object_name').AsString); Query.Next; end; finally Query.Close; Query.Free; end; end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
goodjimmy
一般會員 發表:20 回覆:26 積分:9 註冊:2004-02-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |