不知道那位高手可以告訴我怎么用vb向access數(shù)據(jù)庫(kù)寫(xiě)入數(shù)據(jù)??!

熱心網(wǎng)友

用VB操作Access庫(kù)表的方法有多種,一般初學(xué)者往往會(huì)使用數(shù)據(jù)控件,許多資料上也大都以此作為操作Access數(shù)據(jù)庫(kù)的起點(diǎn)來(lái)介紹,因?yàn)檫@個(gè)方法使用起來(lái)非常簡(jiǎn)單,但使用數(shù)據(jù)控件的方法在程序編碼上往往不夠靈活。現(xiàn)在介紹一下其它兩種操作Access數(shù)據(jù)庫(kù)的方法?! 〉谝环N:使用數(shù)據(jù)庫(kù)對(duì)象  首先,要進(jìn)行有關(guān)數(shù)據(jù)對(duì)象的聲明,代碼如下。Dim MyWs As WorkspaceDim MyDB As DatabaseDim WordTab As Recordset   生成工作區(qū),打開(kāi)數(shù)據(jù)庫(kù),然后再根據(jù)需要打開(kāi)相應(yīng)的庫(kù)表。Set MyWs = DBEngine。CreateWorkspace?″″? ″Admin″? ″″? dbUseJetSet MyDB = MyWs。OpenDatabase?數(shù)據(jù)庫(kù)名稱(chēng)? False? FalseSet WordTab = MyDB。OpenRecordset?″表名″? dbOpenDynaset   這種方法的優(yōu)點(diǎn)是代碼比較簡(jiǎn)單,要求的環(huán)境為DAO 2。5/3。51,其中表名可以換成SELECT語(yǔ)句,即根據(jù)條件打開(kāi)所需要的記錄集,這種方法可脫離數(shù)據(jù)控件,可以比較方便靈活地操作數(shù)據(jù)庫(kù)表,增加了程序的靈活性?! √崾荆航?jīng)過(guò)測(cè)試發(fā)現(xiàn),這種方法只能打開(kāi)Access97庫(kù)表,對(duì)于Access2000庫(kù)表卻無(wú)能為力,會(huì)彈出庫(kù)表格式不對(duì)的出錯(cuò)提示。另外,對(duì)數(shù)據(jù)環(huán)境的要求仍比較多?! 〉诙N:使用ADODB  首先,聲明一個(gè)鏈接變量,并根據(jù)需要聲明記錄集變量。Dim LocCnn1 As ADODB。ConnectionDim LocRst1 As ADODB。Recordset   建立與數(shù)據(jù)庫(kù)的鏈接,如果數(shù)據(jù)庫(kù)沒(méi)有口令,最后一行可以不寫(xiě)(寫(xiě)上也不會(huì)錯(cuò))。Set LocCnn1 = New ADODB。ConnectionLocCnn1。Open ″Provider=Microsoft。Jet。OLEDB。4。0User ID=Admin″ & _″Data Source=″ & App。Path & ″\數(shù)據(jù)庫(kù)名稱(chēng)。mdb″& _″Mode=Share Deny NoneExtended Properties=''Persist Security Info=False″ & _″Jet OLEDB?Database Password='asp561rbc'″   這種方法雖然代碼長(zhǎng)一些,但對(duì)數(shù)據(jù)環(huán)境要求低,且結(jié)構(gòu)清晰,所編寫(xiě)的發(fā)布程序也大為減小。由于與鏈接SQL Server等數(shù)據(jù)庫(kù)的方法一樣,因而大量的操作數(shù)據(jù)庫(kù)的代碼相同,當(dāng)數(shù)據(jù)庫(kù)需要由Access擴(kuò)充到一些大型數(shù)據(jù)庫(kù),或由一些大型數(shù)據(jù)庫(kù)裁剪出一個(gè)簡(jiǎn)單數(shù)據(jù)庫(kù)時(shí),程序的移植會(huì)比較方便?! ×硗?,這種方法對(duì)于Access97及Access2000均能很好地支持,兼容性好。對(duì)于大量插入、刪除、修改等操作,只在Connection層進(jìn)行即可,既可提高速度又可減少代碼?! ∪绻€要獲取具體的記錄集內(nèi)容,則須再根據(jù)條件打開(kāi)具體的庫(kù)表,代碼如下:Set LocRst1 = New ADODB。Recordset  LocRst1。CursorType = adOpenKeysetLocRst1。LockType = adLockOptimisticLocRst1。Open ″SELECT ? FROM 表名″? LocCnn1?adCmdText   提示:一般情況下,建議使用第二種方法。 。

熱心網(wǎng)友

畢業(yè)設(shè)計(jì)的時(shí)候到了,你是不是在做畢業(yè)設(shè)計(jì)??!我畢業(yè)的時(shí)候就是做了一個(gè)基于VB的ACCESS數(shù)據(jù)庫(kù)管理系統(tǒng)。把你的郵箱告訴我我把我的發(fā)給你!