Mega Code Archive

 
Categories / ASP.Net / ADO Database
 

Synchronize database operations (C#)

<%-- Beginning ASP.NET 1.0 with C# (Paperback) by David Sussman, Chris Ullman,     Juan T. Llibre, John Kauffman,     Ollie Cornes, Ajoy Krishnamoorthy,     Srinivasa Sivakumar, Chris Goode,     Neil Raybould, Christopher Miller,     Rob Birdwell, Matt Butler, Gary Johnson      # Publisher: Wrox Press; 1st edition (June 2002) # Language: English # ISBN: 1861007345 --%> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %> <script language="VB" runat="server">   Sub Page_Load(Sender As Object, E As EventArgs)     Dim strConnection As String     Dim strSQL        As String     Dim objDataSet    As New DataSet()     Dim objConnection As OleDbConnection     Dim objAdapter    As OleDbDataAdapter     strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; " & _                     "Data Source="+MapPath("EmployeeDatabase.mdb")     strSQL = "SELECT ID, FirstName, LastName FROM Employee;"     objConnection = New OledbConnection(strConnection)     objAdapter = New OledbDataAdapter(strSQL, objConnection)     objAdapter.Fill(objDataSet, "Employees")     dgNameList1.DataSource = objDataSet.Tables("Employees").DefaultView     dgNameList1.DataBind() ' -----------------------------------------------------------------     Dim objTable  As DataTable     Dim objNewRow As DataRow        objTable = objDataSet.Tables("Employees")     objNewRow = objTable.NewRow()     objNewRow("FirstName") = "Norman"     objNewRow("LastName") = "Blake"     objTable.Rows.Add(objNewRow)     ' add another new row. We'll be deleting the one above later.     ' we can't delete existing rows from the database because of     ' referential integrity (every employee also has Orders)     objNewRow = objTable.NewRow()     objNewRow("FirstName") = "Kasey"     objNewRow("LastName") = "Chambers"     objTable.Rows.Add(objNewRow)     ' bind the data grid to the new data     dgNameList2.DataSource = objTable.DefaultView     dgNameList2.DataBind()     ' -----------------------------------------------------------------     ' edit an existing row in the table     Dim objRow As DataRow          ' The Rows collection is 0 indexed, so this changes the fourth row     objRow = objTable.Rows(3)     objRow("FirstName") = "John"     objRow("LastName") = "Hartford"     ' bind the data grid to the new data     dgNameList3.DataSource = objTable.DefaultView     dgNameList3.DataBind()     ' -----------------------------------------------------------------     ' delete a row from the table     ' The Rows collection is 0 indexed, so this removes the sixth row     objTable.Rows(objTable.Rows.Count - 2).Delete()          ' bind the data grid to the new data     dgNameList4.DataSource = objTable.DefaultView     dgNameList4.DataBind()     ' =================================================================     ' generate the update commands     Dim objBuilder    As OleDbCommandBuilder     objBuilder = New OleDbCommandBuilder(objAdapter)     objAdapter.UpdateCommand = objBuilder.GetUpdateCommand()     objAdapter.InsertCommand = objBuilder.GetInsertCommand()     objAdapter.DeleteCommand = objBuilder.GetDeleteCommand()     ' =================================================================     ' update the data store     objAdapter.Update(objDataSet, "Employees")               ' =================================================================     ' refresh the data in the DataReader and bind it to a new grid     ' to prove that the data store has been updated     strSQL = "SELECT ID, FirstName, LastName FROM Employee"     objConnection.Open()     Dim objCmd As New OleDbCommand(strSQL, objConnection)     dgUpd.DataSource = objCmd.ExecuteReader(CommandBehavior.CloseConnection)     dgUpd.DataBind()      End Sub </script> <html>  <body>   <table width="100%">    <tr>     <td>Original Data</td>     <td>Data with new Row</td>     <td>Data with edited Row</td>     <td>Data with deleted Row</td>    </tr>    <tr>     <td valign="top"><asp:DataGrid id="dgNameList1" runat="server" /></td>     <td valign="top"><asp:DataGrid id="dgNameList2" runat="server" /></td>     <td valign="top"><asp:DataGrid id="dgNameList3" runat="server" /></td>     <td valign="top"><asp:DataGrid id="dgNameList4" runat="server" /></td>    </tr>   </table>      <hr />      Data fetched from database after the update:<br/>      <asp:DataGrid id="dgUpd" runat="server"/>     </body> </html>                     EmployeeDatabase.zip( 10 k)