Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New Coder
    Join Date
    Jul 2002
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts

    DataGrid Update Problem

    I've got my databound grid setup and working properly. I've got the Edit, Update, Cancel stuff all setup and working almost.

    The only problem is on the 'Update'. The database is being updated properly, but after the update my page isn't being refreshed and I'm at a loss as to why this is happening. I apologize if the following code is too long, but I figured I should put it all here:

    ----------------------------BEGIN CODE--------------------------------------------------------
    Public Sub Page_Load(Source As Object, E As EventArgs)
    If Not Page.IsPostBack Then
    BindData()
    End If
    End Sub

    Public Sub BindData()
    'Specify our SQL statement
    Dim strSQL as String = "SELECT ID, Name, UserName, ReadOnly, ReadSubmit FROM tblUsers ORDER BY UserName"
    Dim objConnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("pcr.mdb"))
    Dim objCommand As New OleDbDataAdapter(strSQL, objConnection)

    Dim ds As DataSet = New DataSet()

    objCommand.Fill(ds, "tblUsers")
    UserInfo.DataSource = ds.Tables("tblUsers").DefaultView
    UserInfo.DataBind()
    End Sub

    Public Sub DataGrid_Update(Source As Object, E As DataGridCommandEventArgs)
    Dim connString as String
    connString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & _
    "C:\Inetpub\asp.net\pcr_net\pcr.mdb;"

    Dim objConnection as OleDbConnection
    objConnection = New OleDbConnection(connString)
    objConnection.Open() 'open the connection

    Dim txtName As TextBox = E.Item.Cells(2).Controls(0)
    Dim txtUserName As TextBox = E.Item.Cells(3).Controls(0)
    Dim txtReadOnly As TextBox = E.Item.Cells(4).Controls(0)
    Dim txtReadSubmit As TextBox = E.Item.Cells(5).Controls(0)
    Dim strUpdateStmt As String
    Dim rOnly, rSubmit

    'Used to change the Text property for the numeric value needed for the Yes/No field
    If txtReadOnly.Text = "True" Then
    rOnly = -1
    ElseIf txtReadOnly.Text = "False" Then
    rOnly = 0
    End If

    'Used to change the Text property for the numeric value needed for the Yes/No field
    If txtReadSubmit.Text = "True" Then
    rSubmit = -1
    ElseIf txtReadSubmit.Text = "False" Then
    rSubmit = 0
    End If

    'Update SQL Statement
    strUpdateStmt = "UPDATE tblUsers SET " & _
    "UserName = '" & txtUserName.Text & "', " & _
    "Name = '" & txtName.Text & "', " & _
    "ReadOnly = " & rOnly & ", " & _
    "ReadSubmit = " & rSubmit & " " & _
    "WHERE ID = " & E.Item.Cells(1).Text

    'Create the Command object
    Dim objCommand as OleDbCommand
    objCommand = New OleDbCommand(strUpdateStmt, objConnection)

    objCommand.ExecuteNonQuery()
    'objCommand.Dispose()

    UserInfo.EditItemIndex = -1
    BindData()
    'Response.Write(strUpdateStmt)
    End Sub

  • #2
    New Coder
    Join Date
    Jul 2002
    Posts
    13
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Nevermind. Through searching, trial and error I got it figured out. I had to add an objConnection.Close() statement right after my ExecuteNonQuery() statement and the datagrid now updates and refreshes properly.

    Dan


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •