Database Operations with Data Adapter and Command Builder
We have all fired SQL operations by specifying the SQL statement and using the command object to do the needful. Here we see how we can do the same using the Data Adapter object and the Command builde
May 15, 2004
We have all fired SQL operations by specifying the SQL statement and using the command object to do the needful. Here we see how we can do the same using the Data Adapter object and the Command builder object to achieve the same. There is no need to specify the SQL statement. We can do Inserts, Updates and Deletes with the two classes specified above.
Given below are the code samples for Insert, Update and Delete operation. The code is self-explanatory.
Insert a new Row
// the Database stringstring sDBstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx"; //the sql statementstring sSQL = "SELECT * from Name where ID=1"; //the connection objectOleDbConnection oCn = new OleDbConnection(sDBstr); //create the data adapter and execute the query OleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn); //create the DataSetDataSet oDs = new DataSet(); try{ //open the connectionoCn.Open(); //Fill the dataset with the data adapteroDA.Fill(oDs,"Name"); //create the Data RowDataRow oDR = oDs.Tables["Name"].NewRow(); //Populate the datarow with valuesoDR["Name"] = "Yateen" oDR["Id"] = "10"; //Add the datarow to the datasetoDs.Tables["Name"].Rows.Add(oDR); //Use the Command Bulder object to generate Insert Command dynamicallyOleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA); //Update the DB with values from Dataset with the Data AdapteroDA.Update(oDs,"Name"); }catch(Exception ex){ // catch the error message and put it in the string "msg" string msg = ex.Message ; //show the error message on the screen Console.WriteLine(msg) ; }finally{ //Clean up oCn. Close(); oCn = null ; oDA = null; oCB = null;} |
For the Update and the Delete operations to work, the database table you are working with requires a Primary Key to be present.
Update a Row
// the Database stringstring sDBstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxx"; //the sql statementstring sSQL = "SELECT * from Name where ID=1"; //the connection objectOleDbConnection oCn = new OleDbConnection(sDBstr); //create the data adapter and execute the queryOleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn); //create the DataSetDataSet oDs = new DataSet(); try { //open the connectionoCn.Open(); //Fill the dataset with the data adapteroDA.Fill(oDs,"Name"); //create the Data Row assigning it to the row u want to updateDataRow oDR = oDs.Tables["Name"] .Rows[3];//Populate the datarow with valuesoDR["Name"] = "Yateen" //Use the Command Bulder object to generate Update Command dynamicallyOleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA); //Update the DB with values from Dataset with the Data AdapteroDA.Update(oDs,"Name"); } catch(Exception ex){ Console.WriteLine(ex.Message); }finally{ //Clean Up oCn.Close(); oCn = null ; oDA = null; oDs = null; oCB= null } |
Delete a Row
// the Database stringstring sDBstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.mdb"; //the sql statementstring sSQL = "SELECT * from Name"; //the connection objectOleDbConnection oCn = new OleDbConnection(sDBstr); //create the data adapter and execute the queryOleDbDataAdapter oDA = new OleDbDataAdapter(sSQL,oCn); //create the DataSetDataSet oDs = new DataSet(); try{ //open the connectionoCn.Open(); //Fill the dataset with the data adapteroDA.Fill(oDs,"Name"); //Delete the row u want to deleteoDs.Tables["Name"].Rows[3].Delete();//Use the Command Bulder object to generate Delete Command dynamicallyOleDbCommandBuilder oCB = new OleDbCommandBuilder(oDA); //Update the DB with values from Dataset with the Data AdapteroDA.Update(oDs,"Name"); }catch(Exception ex){ Console.WriteLine(ex.Message); }finally{//Clean UpoDA=null; oDs=null; oCB=null; oCn.Close();oCn=null; } |
Happy Coding !!!!
About the Author
You May Also Like