Update a Record, Delete a record

 

Update a Record

Sometimes, all you want to do is to update a record in the database, change a name, for example, or amend an address.

Add a new button to your form. Call it btnUdate. Double click the button to get at the code. Add the following lines:

DataRow row = ds.Tables[0].Rows[inc];

row[1] = txtFirstName.Text;
row[2] = txtSurname.Text;
row[3] = txtJobTitle.Text;
row[4] = txtDepartment.Text;

This is very similar to the code for adding a new record. Again we start by creating a DataRow object. This time, we place a specific row in the new object. That row is one from the DataSet:

ds.Tables[0].Rows[ inc ];

However, this is the old row. The new details are in the textboxes, the ones you may have amended. To place the new details into the new row object, we simply transfer the textbox date to a position in the row object:

row[1] = txtFirstName.Text;
row[2] = txtSurname.Text;
row[3] = txtJobTitle.Text;
row[4] = txtDepartment.Text;

All we need to do now is to make a call to the UpdateDatabase method from our class. Again, we can do this in a try … catch block:

try
{

objConnect.UpdateDatabase(ds);

MessageBox.Show("Record Updated");

}
catch (Exception err)
{

MessageBox.Show(err.Message);

}

The only line we really need is this one:

objConnect.UpdateDatabase(ds);

This is the same as before: we're just passing our UpdateDatabase method the name of the DataSet, which is called ds.

The whole of the btnUpdate code is this:

C# code to update a record in a database table

Try it out. Run your form and amend one of the records. Click your Update button. When you close the form down and open it back up again, the amended record will display.

 

Delete a Record

To delete a record from the Dataset, you use the Delete method on the DataSet:

ds.Tables[0].Rows[inc].Delete( );

This is enough to Delete the entire Row ( Rows[inc] ). But it is only deleted from the Dataset. To delete if from the underlying database as well, we can call our UpdateDatabase method again.

objConnect.UpdateDatabase(ds);

Because a row has been deleted, we need to change the value of our MaxRows variable. We also need to deduct 1 from the inc variable, and make a call NavigateRecords:

MaxRows = ds.Tables[0].Rows.Count;
inc--;

NavigateRecords();

Add another button to your form. Call it btnDelete. Here's the whole of the code to add to your new button:

C# code to delete a record from a database table

Try it out. Run your form. Navigate to a record you want to delete, then press your Delete button. Close your form and reopen it. The record you delete should be gone.


Exercise P
Examine this version of our form:

The completed C# database form

If you look at the bottom, you'll see a label that says Record 1 of 10. Implement this in your own programme. If you set up a method, you can just call it from NavigateRecords.

 

OK, that's enough of databases! It's a huge subject, obviously, and many books have been written on the subject. We've only touched the surface in these lessons, and encourage you to delve deeper. Especially if you want a job as a programmer!

In the next section, we'll take a look at multiple forms.