Python程式設計語言的出現,帶給開發人員非常大的好處。我們可以利用這樣一款功能強大的物件導向開源語言來輕鬆的實現許多特定功能需求。比如Python操作Access資料庫的功能實現等等。在Python操作Access資料庫之前,首先,你應安裝了Python和Python for Windows extensions。
Python操作Access資料庫步驟之1、建立資料庫連接
- import win32com.client
- conn = win32com.client.Dispatch(r'ADODB.Connection')
- DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;'
- conn.Open(DSN)
Python操作Access資料庫步驟之2、開啟一個記錄集
- rs = win32com.client.Dispatch(r'ADODB.Recordset')
- rs_name = 'MyRecordset'#表名
- rs.Open('[' + rs_name + ']', conn, 1, 3)
Python操作Access資料庫步驟之3、對記錄集操作
- rs.AddNew()
- rs.Fields.Item(1).Value = 'data'
- rs.Update()
Python操作Access資料庫步驟之4、用SQL來插入或更新資料
- 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()
Python操作Access資料庫步驟之5、遍曆記錄
- rs.MoveFirst()
- count = 0
- while 1:
- if rs.EOF:
- break
- else:
- countcount = count + 1
- rs.MoveNext()
注意:如果一個記錄是空的,那麼將指標移動到第一個記錄將導致一個錯誤,因為此時recordcount是無效的。解決的方法是:開啟一個記錄集之前,先將Cursorlocation設定為3,然後再開啟記錄集,此時recordcount將是有效。例如:
- rs.Cursorlocation = 3 # don't use parenthesis here
- rs.Open('Select * FROM [Table_Name]', conn) # be sure conn is open
- rs.RecordCount # no parenthesis here either
以上就是我們對Python操作Access資料庫步驟的相關介紹。