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

BCB6 + ADO + Access問題

缺席
friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-12 01:35:59 IP:59.112.xxx.xxx 訂閱
小弟剛學習 資料庫 使用 BCB6 + ADO + Access .mdb
我在同一台電腦有兩個程式 A ,B 同時連結這個Access資料庫
A 一直動態更新儲存資料到資料庫 , B則即時讀取資料庫.

請問B是不是要一直執行ADODataSet->Refresh()的命令
才可以一直保持最新的資料...
1.有其他的做法嗎?
2.如果執行Refresh()命令會出現錯誤訊息 "...搜尋欄位未定義...." 是不是哪裡設定有錯誤.
friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-13 10:15:03 IP:61.64.xxx.xxx 訂閱
是不是問的不好....所以沒有回覆
其實主要的問題也是因為有去執行過ADOTable1->Refresh();
出現錯誤訊息 "更新或重整所需索引鍵資料行資訊不足 " 的問題???
不知道是否哪邊要注意....謝謝

friendlly
高階會員


發表:22
回覆:144
積分:103
註冊:2003-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-13 14:01:23 IP:61.64.xxx.xxx 訂閱
經過一番測試
程式A 寫入的程式
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
ADOQuery1->Edit();
ADOQuery1->FieldValues["T1"]=Edit1->Text.ToInt();
ADOQuery1->Post();
}
程B讀取的方法
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
AnsiString sbuf="Select * From Table1";
if(ADOQuery1->Active==true)ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sbuf);
ADOQuery1->Open();
}

測試到這發現A寫入T1欄位資料後 ,程式B 要等個3~4秒才會更新 <------這太慢了
請問
1.希望能即時更新,是否寫法上面要更改,,
2.如果更新的Cycle Time 要能設定的話,,是不是要跟換資料庫,不要用access.
lu
高階會員


發表:11
回覆:189
積分:195
註冊:2003-11-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-13 16:48:56 IP:203.73.xxx.xxx 訂閱
若要2台(含)以上PC同時連線同一個DATABASE,建議採用 SQL SERVER
若因為經費關係,無法採用SQL SERVER,則建議採用MSDE(Microsoft Database Engine)
MSDE 為『閹割』版的SQL SERVER,基本上除了連線數量以及資料庫的大小有限制,其餘皆跟SQL SERVER一樣

MSDE的授權相關說明如下
http://www.microsoft.com/sql/prodinfo/previousversions/msde/MSDErights.mspx
系統時間:2024-04-24 10:15:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!