none
在資料修改時出現資料被獨佔,可否告知如何解除! RRS feed

  • 問題

  • 各位先進好

    我用伺服器總管開起資料表格(adapter.dataset都建立好也可翻頁顯示資料)

    但於練習修改資料時卻出現資料來源被獨佔的錯誤

    請各位協助

    以上謝謝

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim MyDataSet As DataSet = GetDataSet()

            '修改第一列中的欄位『客戶信用卡編號』
            MyDataSet.Tables(0).Rows(0).BeginEdit()
            MyDataSet.Tables(0).Rows(0).Item("零件代號") = 24123123
            MyDataSet.Tables(0).Rows(0).EndEdit()

            '將修改後的 DataTable 資料填入 DataGrid
            Me.DataGrid1.DataSource = MyDataSet
            Me.DataGrid1.DataBind()
        End Sub
        Function GetDataSet() As System.Data.DataSet
            '如果 Session 中的 DataSet不存在,則重新讀取
            If Session("MyDataSet") Is Nothing Then
                reLoadData()
            End If
            '傳回DataSet
            GetDataSet = Session("MyDataSet")
        End Function

        '重新讀取 DataSet
        Function reLoadData()
            Dim OleDbDataAdapter As System.Data.OleDb.OleDbDataAdapter
            Dim MyDataSet As New System.Data.DataSet
            OleDbDataAdapter = Connect2AccessDB("C:\Inetpub\wwwroot", "select 零件代號,零件名稱,裁決價 from 零件資料;")
            '將Adapter資料填入DataTable
            OleDbDataAdapter.Fill(MyDataSet)
            '將DataTable資料填入DataGrid
            Me.DataGrid1.DataSource = MyDataSet
            Me.DataGrid1.DataBind()

            '將 DataSet 保留在Session 中
            Session("MyDataSet") = MyDataSet
        End Function
        '設定DBF OR Access連結資料庫
        Function Connect2AccessDB(ByVal FilePath As String, ByVal SQL As String) As System.Data.OleDb.OleDbDataAdapter
            '宣告連線物件
            Dim conn As System.Data.OleDb.OleDbConnection
            '建立連線字串
            Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath & ";Persist Security Info=False"
            '建立連線物件實體
            conn = New System.Data.OleDb.OleDbConnection(connStr)
            '建立DataAdapter作為取得資料的通路
            Dim DataAdapter As New System.Data.OleDb.OleDbDataAdapter(SQL, conn)
            Connect2AccessDB = DataAdapter
        End Function

    2006年5月6日 下午 01:29

解答

  • 你若是同時打開 Access ,並處於設計模式時,Access 是以獨占模式綁住檔案。

    用 VSNET 的伺服器總管在設計模式下也是獨占。

    2006年5月7日 上午 05:50
    版主

所有回覆

  • 你若是同時打開 Access ,並處於設計模式時,Access 是以獨占模式綁住檔案。

    用 VSNET 的伺服器總管在設計模式下也是獨占。

    2006年5月7日 上午 05:50
    版主
  • 請問是否是要在正式運作才能測試的寫入資料?

    是否用瀏覽器檢視或F5,都會如此獨占

    只有建置後實際作業才不會?

    以上謝謝

    2006年5月10日 上午 08:25