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

ADODB 的問題

 
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-13 22:59:28 IP:211.74.xxx.xxx 未訂閱
請問一下 我使用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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-19 21:31:22 IP:61.70.xxx.xxx 未訂閱
不知有無會錯意 是不是可試試 DBGrid1.DataSource.DataSet := (ADOQuery(SQLString:string) as TDataSet);
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-07-20 03:25:00 IP:61.59.xxx.xxx 未訂閱
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追到頭婚眼花了><|||
系統時間:2024-05-04 2:23:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!