用Python操作MS Access数据库

首先,你应安装了python和Python for Windows extensions。
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)
2、打开一个记录集
  rs = win32com.client.Dispatch(r'ADODB.Recordset')
  rs_name = 'MyRecordset'#表名
  rs.Open('[' + rs_name + ']', conn, 1, 3)
3、对记录集操作
  rs.AddNew()
  rs.Fields.Item(1).Value = 'data'
  rs.Update()
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()
5、遍历记录
  rs.MoveFirst()
  count = 0
  while 1: 
      if rs.EOF: 
         break
     else: 
         count = 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
186

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值