ADODB 的問題 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
請問一下
我使用ADODB.Connection與ADODB.Recordset 控制Access資料庫
我該怎樣才能讓DBGrid 接受Recordset ?
或是…Recordset 要如何轉換成TADODataSet ?
=--------------------------------------------------
可能我表達比較差吧…都沒有人回應><
再描述清楚點…
ADODB.Connection 與ADODB.Recordset 是ADO 的ActiveX DLL
用過VB的大概都對這二個物件不陌生吧…
Delphi 的ADO VCL元件就是包裝ADODB的物件,
大部份的人在用的ADOQuery、ADOTable...就是經由它包裝而來的 使用ADODB.Connection 與ADODB.Recordset 方法如下(簡化的Code) uses
Windows, Messages, SysUtils, Classes, Controls,Comobj;
........
....
implementation
var
iadoCN:Variant ;
iadoRS:Variant ; constructor TADOLib.Create(AOwner:TControl);
begin
inherited Create(AOwner);
iadoCN:=CreateOleObject('ADODB.Connection');
iadoRS:=CreateOleObject('ADODB.Recordset');
end; function ADOQuery(SQLString:string):Variant;
begin
Result:=iadoCN.Execute(SQLString);
end; 問題就是ADOQuery所傳回的是 Variant(RecordSet)
我想把它指定給DBGrid,讓DBGrid顯示,
DBGrid1.DataSource<--DataSource1.DataSet<--ADODataSet
我要如何將 ADOQuery 所傳回的RecordSet 轉換成ADODataSet 呢?? 這樣子…不知道有沒有人能明白我說的?
還是有什麼更簡便的方法能讓DBGrid接收Recordset 型態的資料?? 發表人 - ddy 於 2002/07/17 10:56:32
|
nbaba
一般會員 發表:2 回覆:2 積分:0 註冊:2002-06-07 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
nbaba 兄
多謝你的提議,我試過下面的方法
仍然不行,程式片段如下:
DBGrid1.DataSource.DataSet :=ADOQuery('select * from Employee') as TDataSet;
編譯出現錯誤訊息
[Error] TDBLib_Test1.pas(33): Operator not applicable to this operand type
就型別轉換看來好像可行,不過…這問題好像變成Object Pascal的問題了
唉…追Unit ADODB和DB追到頭婚眼花了><|||
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |