Python连接Access和读取Access数据库的例子  

其实这个Python连接Access和读取Access数据库的例子是写给自己看的,网上已经有Python读取Access的例子了,我这个也是参考以上制作的.

而这个例子应该是只能在windows使用吧!而且需要用到win32com.client这个库,而我在引用win32com.client时出错了,看来不是python常备的库,看来需要安装的!

在参考了网上的 How can I import win32com.client to my app ? 之后,才知道怎样安装win32com.client,以下是这篇文章的网址

http://groups.google.com/group/web2py/browse_thread/thread/4893548504d479e3?pli=1

安装win32com.client的网址: https://sourceforge.net/projects/pywin32/

下边是代码:

  1. # -*- coding: gb2312 -*-
  2. import win32com.client
  3. import os, sys, string
  4. conn = win32com.client.Dispatch(r’ADODB.Connection’)
  5. DSN = ‘PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=SpiderResult.mdb;’
  6. conn.Open(DSN)
  7. print “connect…”
  8. rs = win32com.client.Dispatch(r’ADODB.Recordset’)
  9. #rs_name = ‘Content’#表名
  10. #rs.Open(‘[‘ + rs_name + ‘]’, conn, 1, 3)
  11. # Content 这个表是我用火车头采集当当网数据的数据库
  12. rs.Open(‘Select top  * FROM Content where’, conn,1, 3)
  13. # 注意:如果一个记录是空的,将导致一个错误,所以我加了一句判断有没有记录,防止错误.
  14. if rs.recordcount==0:
  15. sys.exit()
  16. rs.MoveFirst()
  17. print rs.recordcount
  18. while not rs.EOF:
  19. print rs.Fields.Item(3).Value
  20. print “————————————-“
  21. rs.MoveNext()
  22. print “Record Count: “,rs.recordcount
  23. rs.Close()

 

请订阅本站 RSS feed 订阅到信箱 ,欢迎 Donate 或者 上面的广告内容 支持三十岁

本文链接:Python连接Access和读取Access数据库的例子

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^


分享到:          
  • 通告关闭
  • 评论 (4)
  1. 还有一个问题是,这个博客缩进无法显示喔

    • 纯代码,没有美感.对不起各位观众

  2. 以下是我原封不动按您的代码来的,然后报错了,我找了好久都找不到原因,能否看一下呢,谢谢?

    import os
    import win32com.client
    import os,sys,string

    conn = win32com.client.Dispatch(r’ADODB.Connection’)
    DSN = r’PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=SpiderResult.mdb;’
    conn.Open(DSN)

    print ‘connect ….’

    rs=win32com.client.Dispatch(r’ADODB.Recordset’)
    rs.Open(‘Select top 10 from 14021 ‘)
    if rs.recordcount == 0:
    sys.exit()

    rs.MoveFirst()
    print rs.recordcount
    while not rs.EOF:
    print rs.Fields.Item(3).Value
    print ‘—————-‘
    rs.MoveNext()
    print “Record Count:”,rs.recordcount

    rs.Close()

    Traceback (most recent call last):
    File “”, line 1, in
    conn.Open(DSN)
    File “”, line 3, in Open
    File “C:\Python27\lib\site-packages\win32com\client\dynamic.py”, line 282, in _ApplyTypes_
    result = self._oleobj_.InvokeTypes(*(dispid, LCID, wFlags, retType, argTypes) + args)
    com_error: (-2147352567, ‘\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3′, (0, u’ADODB.Connection’, u’\u672a\u627e\u5230\u63d0\u4f9b\u7a0b\u5e8f\u3002\u8be5\u7a0b\u5e8f\u53ef\u80fd\u672a\u6b63\u786e\u5b89\u88c5\u3002′, u’C:\\Windows\\HELP\\ADO270.CHM’, 1240655, -2146824582), None)

    • 你的python版本对不对,这东西不同版本有兼容问题

评论关闭