2016-09-19 19 views
0

我試圖用MS Access DB替換InterBase DB作爲測試,我成功地使用TADOConnection組件連接到MS Access數據庫;然而,當我嘗試使用TADODataset連接到一個表,我能夠連接屬性設置爲TADOConnection成分,但是當我想設置我收到以下錯誤CommandText屬性:在MS Access中使用TADODataset組件時出錯

Error message

的connectionstring如下:Provider=ADsDSOObject;User ID=admin;Encrypt Password=False;Data Source=C:\StudyTime\StudyTime.accdb;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648;

有人可以幫助我嗎?

+2

你能告訴我們一些代碼嗎?在interbase和ms訪問表中的表格方案? – GuidoG

+0

爲什麼你想從客戶端/服務器數據庫移動到桌面數據庫?聽起來像是我邁出的一大步。 – GuidoG

+0

沒有代碼用於這個連接過程,我知道你的意思是退後一步。我編寫了這個程序來幫助我跟蹤我的學習時間,並且希望與我無法訪問InterBase服務器的同學分享。使用MS訪問數據庫似乎是合乎邏輯的解決方案。表格方案非常簡單。有2列,'Subject_ID'數據類型'AutoNumber'和'Subject'數據類型'Text'。主鍵已被設置爲「Subject_ID」。 –

回答

2

您正在使用錯誤的提供者:ADsDSOObject用於ms-access。

改爲使用Provider=Microsoft.Jet.OLEDB.4.0Provider=Microsoft.ACE.OLEDB.12.0;

例如

MdbFileName := 'C:\StudyTime\StudyTime.accdb'; 
ADOConnection1.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;', [MdbFileName]); 
ADOConnection1.Open;