« »

Python操作Access数据库

首先,你应安装了python和Python for Windows extensions。
1、建立数据库连接

  1. import win32com.client 
  2. conn = win32com.client.Dispatch(r'ADODB.Connection') 
  3. DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;' 
  4. conn.Open(DSN)


2、打开一个记录集

  1. rs = win32com.client.Dispatch(r'ADODB.Recordset') 
  2. rs_name = 'MyRecordset'#表名
  3. rs.Open('[' + rs_name + ']', conn, 1, 3)

3、对记录集操作

  1. rs.AddNew() 
  2. rs.Fields.Item(1).Value = 'data' 
  3. rs.Update()

4、用SQL来插入或更新数据

  1. conn = win32com.client.Dispatch(r'ADODB.Connection') 
  2. DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;' 
  3. sql_statement = "Insert INTO [Table_Name]  ([Field_1], [Field_2]) VALUES ('data1', 'data2')" 
  4. conn.Open(DSN) 
  5. conn.Execute(sql_statement) 
  6. conn.Close()

5、遍历记录

  1. rs.MoveFirst() 
  2. count = 0 
  3. while 1:
  4.     if rs.EOF:
  5.         break 
  6.     else:
  7.         count = count + 1 
  8.     rs.MoveNext()

注意:如果一个记录是空的,那么将指针移动到第一个记录将导致一个错误,因为此时recordcount是无效的。解决的方法是:打开一个记录集之前,先将Cursorlocation设置为3,然后再打开记录集,此时recordcount将是有效的。
例如:

  1. rs.Cursorlocation = 3 # don't use parenthesis here
  2. rs.Open('Select * FROM [Table_Name]', conn) # be sure conn is open
  3. rs.RecordCount # no parenthesis here either

您还可能感兴趣的内容

日志信息 »

该日志于2009-02-01 21:25由 admin 发表在Python分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

没有评论

发表评论 »


返回顶部