本文實(shí)例分析了Python操作Access數(shù)據(jù)庫(kù)基本步驟。分享給大家供大家參考,具體如下:
Python編程語(yǔ)言的出現(xiàn),帶給開(kāi)發(fā)人員非常大的好處。我們可以利用這樣一款功能強(qiáng)大的面向?qū)ο箝_(kāi)源語(yǔ)言來(lái)輕松的實(shí)現(xiàn)許多特定功能需求。比如Python操作Access數(shù)據(jù)庫(kù)的功能實(shí)現(xiàn)等等。在Python操作Access數(shù)據(jù)庫(kù)之前,首先,你應(yīng)安裝了Python和Python for Windows extensions。
步驟之1、建立數(shù)據(jù)庫(kù)連接
import win32com.clientconn = win32com.client.Dispatch(r'ADODB.Connection')DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'conn.Open(DSN)
步驟之2、打開(kāi)一個(gè)記錄集
rs = win32com.client.Dispatch(r'ADODB.Recordset')rs_name = 'MyRecordset'#表名rs.Open('[' + rs_name + ']', conn, 1, 3)步驟之3、對(duì)記錄集操作
rs.AddNew()rs.Fields.Item(1).Value = 'data'rs.Update()
步驟之4、用SQL來(lái)插入或更新數(shù)據(jù)
conn = win32com.client.Dispatch(r'ADODB.Connection')DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'sql_statement = "Insert INTO [Table_Name] ([Field_1],[Field_2]) VALUES ('data1', 'data2')"conn.Open(DSN)conn.Execute(sql_statement)conn.Close()步驟之5、遍歷記錄
rs.MoveFirst()count = 0while 1:if rs.EOF:breakelse:countcount = count + 1rs.MoveNext()
注意:如果一個(gè)記錄是空的,那么將指針移動(dòng)到第一個(gè)記錄將導(dǎo)致一個(gè)錯(cuò)誤,因?yàn)榇藭r(shí)recordcount是無(wú)效的。解決的方法是:打開(kāi)一個(gè)記錄集之前,先將Cursorlocation設(shè)置為3,然后再打開(kāi)記錄集,此時(shí)recordcount將是有效的。例如:
rs.Cursorlocation = 3 # don't use parenthesis herers.Open('Select * FROM [Table_Name]', conn) # be sure conn is openrs.RecordCount # no parenthesis here either希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注