首先,我們使用一種簡單的方式,即通過控件的方式來定義存儲過程和數(shù)據(jù)源。
新建一個單元,命名為:DataMConn,在加入一個ADO單元下的ADOStoredProc,這里命名為ADOSPTempAbove ,再加入Data Access單元下的一個DataSource,這里命名為DataSourceAbove,設(shè)置DataSourceAbove的DataSet屬性為ADOSPTempAbove,當(dāng)然這個屬性也可以在程序中指定。
下面,可以在另一個單元中添加一個DataGrid,這里的命名為dgAbove。下面的代碼加了詳細注釋。
With DataMConn.ADOSPTempAbove do
begin
ProcedureName := ’GetAbove’; //指定存儲過程名稱
Parameters.Clear; //清除原有參數(shù)
//以下創(chuàng)建了兩個新的參數(shù),關(guān)于如何傳遞表名做為參數(shù)請參我在 數(shù)據(jù)庫 分類的高級應(yīng)用中寫的文章。
Parameters.CreateParameter(’@tableName’,ftString,pdinput,20,0);
Parameters.CreateParameter(’@strDate’,ftString,pdinput,20,0);
//以下為參數(shù)賦值
Parameters.ParamByName(’@tableName’).Value := tempTableName;
Parameters.ParamByName(’@strDate’).Value := strDate;
try
Open; //返回結(jié)果集用open,否則用EexcProc;
except
begin
ShowMessage(’打開表錯誤’);
Exit;
end;
end;
//如果沒有在控件屬性中設(shè)置DataSourceAbove的DataSet屬性,可以在這里設(shè)置:
//DataSourceAbove.DatSet := DataMConn.ADOSPTempAbove
dgAbove.DataSource := DataMConn.DataSourceAbove;
end;
注意: ftString 需要引用DB單元。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |