asp.net存入資料庫問題

2010-04-08 8:07 pm
objCon = New OleDbConnection(strDbCon)
objCon.Open()
strSQL = "SELECT * FROM data1"
objDataAdapter = New OleDbDataAdapter(strSQL, objCon)
Dim objCmdBuilder As OleDbCommandBuilder = _
New OleDbCommandBuilder(objDataAdapter)
Dim objDataSet As DataSet = New DataSet()
objDataAdapter.Fill(objDataSet, "data1")
Dim objDataRow As DataRow
objDataRow = objDataSet.Tables("data1").NewRow()
objDataRow("Dep") = List.SelectedItem.Text
objDataRow("Name") = TextBox2.Text
objDataRow("ID") = TextBox3.Text
objDataRow("Tableball") = value(0)
objDataRow("Basketball") = value(1)
objDataRow("Volleyball") = value(2)
objDataRow("Tennis") = value(3)
objDataRow("Softball") = value(4)
objDataRow("Soccer") = value(5)
objDataRow("Swim") = value(6)
objDataSet.Tables("data1").Rows.Add(objDataRow)
objDataAdapter.Update(objDataSet, "data1") <- 問題所在
objCon.Close()

-------------------------------------------------------------------------------------
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.Data.OleDb.OleDbException: 運作必須使用更新查詢。

原始程式錯誤:


行 62: objDataSet.Tables("data1").Rows.Add(objDataRow)
行 63:
行 64: objDataAdapter.Update(objDataSet, "data1")
行 65:
行 66:
-------------------------------------------------------------------------------------

目前我已經把他上傳至網頁空間了
單機測試都很正常
可以存入資料
可是
放上網頁後 權限也改過了
就是無法存入ACCESS裡面

請問各位先進
我還缺乏哪幾個步驟呢?
更新1:

我資料夾都有設定everyone寫入的權限了 好麻煩阿ˊˋ

回答 (1)

2010-04-09 8:26 am
✔ 最佳答案
問題不在程式而是權限,是有關 Windows file system 的安全屬性。錯誤原因是ASP.NET沒有權限去更新 Access .mdb 檔資料庫,多數是資料庫所在的文件匣沒有給予ASP.NET更改的權限。解決方法是給予 IIS account (IUSR_MACHINE) 和 ASP.NET 在文件匣有更改的權限。

參考: http://support.microsoft.com/kb/175168

2010-04-12 23:46:31 補充:
objDataAdapter.Update(objDataSet, "data1")
應改為
objDataAdapter.Update(objDataSet)

2010-04-12 23:47:33 補充:
參考: http://msdn.microsoft.com/en-us/library/system.data.common.dataadapter.update%28v=VS.90%29.aspx


收錄日期: 2021-04-26 13:15:01
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100408000016KK02726

檢視 Wayback Machine 備份