• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    使用oledb讀寫excel出現“操作必須使用一個可更新的查詢”的解決辦法

    發布時間:  2012/5/18 16:31:35
    前兩天使用oledb連接excel的辦法為單位某部門從一個excel的多個sheet中作連選抽出需要的數據,程序非常簡單,結果很快就出來,原來手工需要很長時間才能選出的結果現在幾乎一點擊就有了結果。使用人員非常滿意,由于是多人使用,開始只是將結果顯示在一個頁面上。后來他們要求將結果寫入該xls文件的另一個sheet中,我隨便寫了個語句以為可以立馬搞掂,沒想到居然出現了“操作必須使用一個可更新的查詢”。因為讀取結果正常,我開始以為是excel文件所處的文件夾沒有寫權限所致。增加了相應權限后,結果依然如故。沒辦法還是檢查程序吧,仔細檢查了一下,問題發現了,原來開始只是為了讀取excel我將連接寫成了如下格式:

    Private filename As String = Server.MapPath(".") + "test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
    Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename

      特別注意

      Extended Properties='Excel 8.0;HDR=yes;IMEX=1'

      A: HDR ( HeaDer Row )設置

      若指定值為Yes,代表 Excel 檔中的工作表第一行是欄位名稱

      若指定值為 No,代表 Excel 檔中的工作表第一行就是資料了,沒有欄位名稱

      B:IMEX ( IMport EXport mode )設置

      IMEX 有三種模式,各自引起的讀寫行為也不同,容後再述:

      0 is Export mode

      1 is Import mode

      2 is Linked mode (full update capabilities)

      我這里特別要說明的就是 IMEX 參數了,因為不同的模式代表著不同的讀寫行為:

      當IMEX=0 時為“匯出模式”,這個模式開啟的 Excel 檔案只能用來做“寫入”用途。

      當 IMEX=1 時為“匯入模式”,這個模式開啟的 Excel 檔案只能用來做“讀取”用途。

      當 IMEX=2 時為“連結模式”,這個模式開啟的 Excel 檔案可同時支援“讀取”與“寫入”用途。

      看完這些大家就不用再說我的寫如為什么有問題了吧。我將連接改為如下:

    Private filename As String = Server.MapPath(".") + "test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=2'"
    Dim constr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename

      運行一切ok。


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線