CSharp Use Asp:Datagrid To Add, Update – ADO.Net Database

<%@ Page Language=VB Debug=true %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OLEDB" %>
<script runat=server>
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
    If Not IsPostBack Then
        BuildDataList
    End If
End Sub
Sub DataList_Edit(sender As Object, e As DataListCommandEventArgs)
    dlDepts.EditItemIndex = CInt(e.Item.ItemIndex)
    BuildDataList
End Sub
Sub DataList_Update(sender As Object, e As DataListCommandEventArgs)
    Dim TheID as String
    Dim TheName as String
    Dim TheEmail as String
    TheID = CType(e.Item.FindControl("lblID"), Label).Text
    TheName = CType(e.Item.FindControl("txtName"), TextBox).Text
    TheEmail = CType(e.Item.FindControl("txtEmail"), TextBox).Text
    Dim DBConn as OleDbConnection
    Dim DBUpdate As New OleDbCommand
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBUpdate.CommandText = "Update Employee set " _
        & "FirstName = '" & Replace(TheName, "'", "''") & "', " _
        & "LastName = '" & Replace(TheEmail, "'", "''") & "' " _
        & "Where ID = " & TheID
    DBUpdate.Connection = DBConn
    DBUpdate.Connection.Open
    DBUpdate.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = -1
    BuildDataList
End Sub
Sub CommandAdd_Click(Sender As Object, E As CommandEventArgs)
    Dim DBConn as OleDbConnection
    Dim DBAdd As New OleDbCommand
    DBConn = New OleDbConnection( _
        "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
        & "DATA SOURCE=" _
        & Server.MapPath("EmployeeDatabase.mdb;"))
    DBAdd.CommandText = "Insert Into Employee (FirstName) " _
        & "values ('NewFirstName ')"
    DBAdd.Connection = DBConn
    DBAdd.Connection.Open
    DBAdd.ExecuteNonQuery()
    DBConn.Close
    dlDepts.EditItemIndex = 0
    BuildDataList
End Sub
Sub BuildDataList ()
        Dim DBConn as OleDbConnection
        Dim DBCommand As OleDbDataAdapter
        Dim DSPageData as New DataSet
        DBConn = New OleDbConnection( _
            "PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
            & "DATA SOURCE=" _
            & Server.MapPath("EmployeeDatabase.mdb;"))
        DBCommand = New OleDbDataAdapter _
            ("Select ID, FirstName, LastName " _
            & "From Employee " _
            & "Order By LastName", DBConn)
        DBCommand.Fill(DSPageData, _
            "Employee")
        dlDepts.DataSource = _
            DSPageData.Tables("Employee").DefaultView
        dlDepts.DataBind()
End Sub
</script>
<html>
<head>
<title>Adding Rows from a DataList Control</title>
</head>
<body LEFTMARGIN="40">
<form runat="server">
<br /><br />
<asp:Label
    id="lblMessage"
    Font-Size="12pt"
    Font-Bold="True"
    Font-Name="Lucida Console"
    text="Below is a list of all employees"
    runat="server"
/>
<br /><br />
<asp:datalist
    id="dlDepts"
    runat="server"
    oneditcommand="DataList_Edit"
    onupdatecommand="DataList_Update"
    gridlines="Both"
    backcolor="lightyellow"
    forecolor="darkred"
>
    <itemtemplate>
        <b>Department: </b>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        <%# DataBinder.Eval(Container.DataItem, "FirstName") _
            & " - " _
            & DataBinder.Eval(Container.DataItem, "LastName")
         %>
         <asp:LinkButton
             id="butEdit"
              Text="Edit"
              CommandName="Edit"
              runat="server"
          />
    </itemtemplate>
    <edititemtemplate>
        <asp:label
            id="lblID"
            runat="server"
            text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
            visible="False"
        />
        Name:
        <asp:textbox
            id="txtName"
            text='<%# DataBinder.Eval(Container.DataItem, "FirstName") %>'
            runat="server"
        />
        <br />
        Email:
        <asp:textbox
            id="txtEmail"
            text='<%# DataBinder.Eval(Container.DataItem, "LastName") %>'
            runat="server"
        />
        <br />
         <asp:LinkButton
             id="butUpdate"
              Text="Update"
              CommandName="Update"
              runat="server"
          />
    </edititemtemplate>
</asp:datalist>
<br /><br />
<asp:LinkButton
    id="butAdd"
    text="Add"
    commandname="Add"
    oncommand="CommandAdd_Click"
    runat="server"
/></form>
</body>
</html>

Enjoyed this post? Share it!

 

Leave a comment

Your email address will not be published.