国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 獲取 Access 表字段名

yimo / 1574人閱讀

摘要:時效說明的舊文遷移,某些地方可能過時,最后更新時間為以下所有代碼均可用。打印指定文件指定表的所有字段關于字段類型為數字,為文本,為備忘。下有更簡潔的函數,只需要填路徑。

時效說明:walker 的舊文遷移,某些地方可能過時,最后更新時間為 2015-09-25

以下所有代碼 Python2.7、Python3.4 均可用。

win32.com
# encoding: utf-8
# author: walker
# date: 2015-09-25
# summary: 打印指定access文件、指定表的所有字段

import win32com.client

def PrintColumns_win32com(pathfile, tablename):
    conn = win32com.client.Dispatch(r"ADODB.Connection")
    DSN = "PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=" + pathfile + ";"
    #DSN = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + pathfile + ";"
    conn.Open(DSN)
      
    rs = win32com.client.Dispatch(r"ADODB.Recordset")
    rs.Cursorlocation = 3
    sql = "SELECT TOP 1 * FROM " + tablename
    print(sql)
    rs.Open(sql, conn)
    for i in range(0, rs.Fields.Count):
        print("%s - %d - %d" % (rs.Fields[i].Name, rs.Fields[i].Type, rs.Fields[i].DefinedSize))
      
    conn.Close()

關于字段類型(Type):3為數字,202為文本,203為備忘。Windows 下有更簡潔的函數 pypyodbc.win_connect_mdb,只需要填路徑。

相關閱讀

win32com下載

Python操作Access數據庫基本操作步驟分析

ADO獲取表的所有字段名

pyodbc
# encoding: utf-8
# author: walker
# date: 2015-09-25
# summary: 打印指定access文件、指定表的所有字段

import pyodbc

def PrintColumns_pyodbc(pathfile, tablename):
    connStr = r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=%s;" % pathfile
    print("connStr:" + connStr)
    conn = pyodbc.connect(connStr)
    
    cur = conn.cursor()
    
    for row in cur.columns(table=tablename):
        print(row.column_name)
    
    cur.close()
    conn.close()
相關鏈接

pyodbc的pypi主頁

pyodbc的文檔

pypyodbc
# encoding: utf-8
# author: walker
# date: 2015-09-25
# summary: 打印指定access文件、指定表的所有字段

import pypyodbc

def PrintColumns_pypyodbc(pathfile, tablename):
    connStr = r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=%s;" % pathfile
    print("connStr:" + connStr)
    pypyodbc.lowercase = False  #是否將字段名轉為小寫
    conn = pypyodbc.connect(connStr)
     
    cur = conn.cursor()
    cur.execute("SELECT TOP 1 * FROM " + tablename)
    
    cnt = 0
    for tup in cur.description:
        print(tup[0])
        cnt += 1
    print("cnt:" + str(cnt))
     
    cur.close()
    conn.close()
相關鏈接

pypyodbc的pypi主頁

未找到官方文檔

pyodbc 與 pypyodbc 取值的區(qū)別

在 select 指定字段時

row[idx] row.field row["field"] row.get("field")
pyodbc × ×
pypyodbc ×

在 select * 時

row[idx] row.field row["field"] row.get("field")
pyodbc × × ×
pypyodbc ×

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45205.html

相關文章

  • 【thinkphp3.x】ThinkPHP/Lib/Core/Model.class.php文件分析

    摘要:模型類實現了和模式操作狀態(tài)插入模型數據更新模型數據包含上面兩種方式必須驗證表單存在字段則驗證表單值不為空則驗證當前使用的擴展模型當前數據庫操作對象主鍵名稱數據表前綴模型名稱數據庫名稱數據庫配置數據表名不包含表前綴實際數據表名包含表前綴最近錯 /** * ThinkPHP Model模型類 * 實現了ORM和ActiveRecords模式 * @category Think ...

    geekidentity 評論0 收藏0
  • Odoo權限管理

    摘要:在中,使用用戶組來管理權限,一個特殊的用戶組是員工員工組,所有的用戶都屬于這個組,這個組里包含一些基本的權限。字段級別設置表中的字段的訪問權限。 在Odoo中,使用用戶組(res.groups)來管理權限,一個特殊的用戶組是 員工/員工(base.group_user) 組,所有的用戶都屬于這個組,這個組里包含一些基本的權限。四種權限級別(粒度越來越細):1.菜單/對象級別設置哪些人可...

    mikasa 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<