學習Python的過程中,我們會遇到Access的讀寫問題,這時我們可以利用win32.client模塊的COM組件訪問功能,通過ADODB操作Access的文件。
1、導入模塊
- import win32com.client
2、建立數據庫連接
- conn = win32com.client.Dispatch(r"ADODB.Connection")
- DSN = 'PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = test.mdb'
- conn.Open(DSN)
3、打開一個記錄集
- rs = win32com.client.Dispatch(r'ADODB.Recordset')
- rs_name = 'MEETING_PAPER_INFO'
- rs.Open('[' + rs_name + ']', conn, 1, 3)
4、對記錄集操作
- rs.AddNew() #添加一條新記錄
- rs.Fields.Item(0).Value = "data" #新記錄的第一個記錄為"data"
- rs.Update() #更新
5、用SQL語句來增、刪、改數據
- # 增
- sql = "Insert Into [rs_name] (id, innerserial, mid) Values ('002133800088980002', 2, '21338')" #sql語句
- conn.Execute(sql) #執行sql語句
- # 刪
- sql = "Delete * FROM " + rs_name + " where innerserial = 2"
- conn.Execute(sql)
- # 改
- sql = "Update " + rs_name + " Set mid = 2016 where innerserial = 3"
- conn.Execute(sql)
6、遍歷記錄
- rs.MoveFirst() #光標移到首條記錄
- count = 0
- while True:
- if rs.EOF:
- break
- else:
- for i in range(rs.Fields.Count):
- #字段名:字段內容
- print(rs.Fields[i].Name, ":", rs.Fields[i].Value)
- count += 1
- rs.MoveNext()
7、關閉數據庫
- conn.close()