利用OLEDB更新EXCEL報錯

報錯內容:

Operation must use an updateable query


//連接Excel數據庫,注意IMEX=1時不能插入與更新~~~~~~~~~~去掉它~~~~~~~~~~~~~~



  1. Private filename As String = Server.MapPath(".") + "test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"  
  2. 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 檔案可同時支援“讀取”與“寫入”用途。

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章