学习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()