`
skyfen
  • 浏览: 176968 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用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

分享到:
评论

相关推荐

    accessmysqlconverter:AccessMySQLConverter 旨在提供一种工具,可将 MS Access 数据库文件(.mdb、.accdb)转换为可以运行的 SQL 文件(在未来版本中反之亦然),生成 It 的结构并可选择导入 It 的数据

    AccessMySQLConverter 旨在提供一种工具,可以将 MS Access 数据库文件(.mdb、.accdb)转换为可以运行的 SQL 文件(兼容 PostgreSQL、MariaDB 和 MySQL),生成它的结构(表、ERM...)和它的数据 安装 要安装它,您...

    adodb510数据库抽象库

    它支持的数据库非常多有:MySQL,PostgreSQL,Interbase/Firebird,Informix,Sybase SQL Anywhere,Oracle,MS SQL7/2000,SAP DB,Sybase,DB2,FrontBase,Foxpro,Access,Netezza,LDAP,ODBTP,ADO和普通ODBC...

    access_to_postgresql

    实现一个转换器类,该类以编程方式将 ms access 数据库转换为 postgresql 模式。 通过从 pyodbc 游标(表名、数据类型等)获取信息并生成要由 psycopg2 执行的 SQL 语句来工作。 基本用法: >> > converter = ...

    教务系统设计数据库设计.doc

    MySQL数据库以及Perl、Python或者PHP编程语言的结合)组合 重要组成部分,同时它提供的C API可以结合Glade/GTK+,代替Windows平台的VB+ACCESS/MS SQL SERVER组合。 MySQL数据库具有以下特性: 使用C和C++编写,并...

    教务系统设计数据库设计(1).doc

    MySQL数据库以及Perl、Python或者PHP编程语言的结合)组合 重要组成部分,同时它提供的C API可以结合Glade/GTK+,代替Windows平台的VB+ACCESS/MS SQL SERVER组合。 MySQL数据库具有以下特性: 使用C和C++编写,并...

    计算机二级考试的试题大纲

    计算机二级考试的试题涵盖多个科目,包括但不限于C语言、VB、Java、Python、Access、MySQL数据库、MS Office高级应用等。以下是一些示例题目类型

    mysql5.5.28.zip

    MySQL自身不支持Windows的图形界面,因此,所有的数据库操作及管理功能都只能在MS-DOS方式下完成。首先,必须登陆MySQL服务器,即在提示符/MySQL/BIN>下输入MYSQL –H host –U user –Ppassword,提示符改为mysql>...

    dbeaver-ce-6.3.0-win32.win32.x86_64.zip

    DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等。

    Matlab代码verilog-samyakjain5559:samyakjain5559

    我曾经使用过多个项目管理工具,例如MS Project,MS Access和SharePoint。 我精通使用Java,C ++,C,react native,SAS,Python,Node.js,Appium,Verilog,ARM汇编语言和Java等编程语言开发应用程序。 目前职位 ...

    matlab代码不反应-utl_using_meta_data_add_column_average_height_to_each_table

    使用元数据将列平均高度添加到sas数据库中的每个表。 关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow statistics人工智慧AI Python R Java Javascript WPS Matlab SPSS Scala ...

    AditiSJadhav:我的GitHub个人资料的配置文件

    在努力提高我的技术水平以利用各种技术方面铺平道路,这些技术包括:技术背景: 编程语言:Java,Python,R,MATLAB,C,C ++ 数据库:Oracle,MS SQL,MySQL,MS Access,Hadoop,Spark,MapReduce Web服务和技术...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用...

Global site tag (gtag.js) - Google Analytics