成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 獲取 Access 表字段名

yimo / 1580人閱讀

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

時(shí)效說明:walker 的舊文遷移,某些地方可能過時(shí),最后更新時(shí)間為 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()

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

相關(guān)閱讀

win32com下載

Python操作Access數(shù)據(jù)庫基本操作步驟分析

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()
相關(guān)鏈接

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  #是否將字段名轉(zhuǎn)為小寫
    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()
相關(guān)鏈接

pypyodbc的pypi主頁

未找到官方文檔

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

在 select 指定字段時(shí)

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

在 select * 時(shí)

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45205.html

相關(guān)文章

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

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

    geekidentity 評(píng)論0 收藏0
  • Odoo權(quán)限管理

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

    mikasa 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<