使用用PYTHON语言进行数据库编程的方法很多,见老巫-wfh_178的文章用Python实现数据库编程。本文文们将使用ADO(ActiveX Data Object)来实现读取Access数据库(MDB)文件!
首先在IDE中(本文为PYTHONWIN),引用 Microsoft ActiveX Data Objects Library,点击Tools(工具)------>COM Makepy utility
如图:
即可出现 Select Library
在这里选择Microsoft ActiveX Data Objects Library ,便可以由makepy生成一个.py文件.
我们就可以新建一个Python script文件,代码
import win32com.clientconn=win32com.client.Dispatch('ADODB.Connection')
DSN='PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=c:/db.mdb;'
conn.Open(DSN)rs=win32com.client.Dispatch('ADODB.Recordset')
rs_name='co'
rs.Open('1',conn,1,3) #1和3是常数.代表adOpenKeyset 和adLockOptimistadLockOptimistic
flds={}rs.MoveFirst()
count=0
while not rs.EOF:for x in range(rs.Fields.Count):
flds[x] = rs.Fields.Item(x).Value
print "-------------------------"
print "| %s| %s| %s| %s|" % (flds[0],flds[1],flds[2],flds[3])count=count+1
rs.MoveNext()
print "Record Count:%d" % (count,)
#conn.Close()
使用import 语句导入win32com.client模块,以便我们使用ADO 经过上面的设置之后,就可以直接连接数据库了 定义一个字典( Dictionary ),它是Python的内置数据类型之一,它在关键字与值之间定义了一对一的关系。这一点就象Perl中的关联数组,Java中的 Map ,或VBScipt中的 Scripting.Dictionary 对象。这里定义一个空的字典,用于存放数据库中的]字段的值。 遍历整个数据集,打印出数据信息 print "| %s| %s| %s| %s|" % (flds[0],flds[1],flds[2],flds[3])是一条将结果格式化并打印出来。Python支持将值的格式化输出到字符串中,象C语言中的 sprintf 函数。最基本的用法是简单地在 %s 占位符的地方插入一个值。
保存,运行
结果为: