扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
---------------------------------
import win32com.client
conn = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=e:/db1.mdb;'
conn.Open(DSN)
rs = win32com.client.Dispatch(r'ADODB.Recordset')
rs_name = 'co'
rs.Open('[' + rs_name + ']', conn, 1,2) #此函数中参数1,2 是什么值怎么设,我还不知道,还在试。
flds_dict = {}
for x in range(rs.Fields.Count):
flds_dict[x] = rs.Fields.Item(x).Name
x = rs.Fields.Item(1).Value
print x
#conn.Close()
--------------------------------------------
以上代码完全正确,但是为什么还为出现以下的错误呢?
原因我查到了,是因为数据库的表里的值是中文,所以出现以下错误,改成英文即成功。
想请问大家怎么能使用,中文内容,或中文表名。谢谢。
Traceback (most recent call last):
File "D:\PYTHON23\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "D:\Python23\src\Script1.py", line 12, in ?
print x
File "D:\PYTHON23\lib\site-packages\Pythonwin\pywin\framework\winout.py", line 172, in write
return self.template.write(msg)
File "D:\PYTHON23\lib\site-packages\Pythonwin\pywin\framework\winout.py", line 487, in write
self.HandleOutput(message)
File "D:\PYTHON23\lib\site-packages\Pythonwin\pywin\framework\winout.py", line 468, in HandleOutput
self.QueueFlush()
File "D:\PYTHON23\lib\site-packages\Pythonwin\pywin\framework\winout.py", line 444, in QueueFlush
item = str(item)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
>>>
这是一篇没有结果的文章,我也正在努力找这个结果,其中的代码几乎都是从CSDN 和国外网站上找的,还有很多不明白之处,python.cn 上邮件列表中的网友给了我很多的帮助。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者