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

請問一下 ADOStoreProc的ProcedureName設定

尚未結案
goodjimmy
一般會員


發表:20
回覆:26
積分:9
註冊:2004-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-22 07:56:05 IP:218.162.xxx.xxx 未訂閱
請問一下各位高手: 我是使用oracle資料庫,該資料庫中存有數個程序,現在要用程式去選擇執行的程序,用combobox的元件去選擇,可是我現在只讀取到原先設定好的那一個程序,如何可以讓combobox的元件下拉時,產生資料庫存在的所有程序呢? 程式碼: combobox3.Itmes.add(AdoStoredProc1.procedureName); 耐的住被人磨,則會像鑽石一樣發光
Tony-Tang
一般會員


發表:7
回覆:17
積分:9
註冊:2003-10-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-22 09:33:36 IP:61.219.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-22 11:19:50 IP:218.162.xxx.xxx 未訂閱
呃!!這位大大 不是喔~~procedname是元件的屬性而不是資料庫的欄位 我只是想用combobox的元件,去讀adoprocedure裡面的procedname的內容 耐的住被人磨,則會像鑽石一樣發光
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-23 15:08:55 IP:210.65.xxx.xxx 未訂閱
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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-23 16:00:40 IP:218.162.xxx.xxx 未訂閱
喔!!!可以了 不好意思喔~~sorry 耐的住被人磨,則會像鑽石一樣發光
系統時間:2024-05-18 16:00:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!