+ Reply to Thread
Results 1 to 5 of 5

Thread: Writing SQL commands in C# - Part 2 - Reading and deleting records

  1. #1
    Join Date
    Mar 2009
    Posts
    1,375
    Rep Power
    24

    Arrow Writing SQL commands in C# - Part 2 - Reading and deleting records

    Welcome all! This is a second part of my SQL in C# tutorial series. If you are interested in writing INSERT commands then take a look at part 1: INSERT into table. In this tutorial I would like to show you how to read several records by using a SELECT statement, and how to delete records by using DELETE statement. Enjoy this short tutorial.

    Reading records with SQL SELECT statment: using SqlDataReader class

    So, so far we created a database, with a table for numbers and descriptions, and added a record. Remember, table NumbersTable has two columns, numbers and description. During insertion and deletion column names are not used, you need only their order. So when you write some code, take a look again at the table. If you make it wrong then god help you with debbuging.

    Code:
    SqlConnection connection1 = new SqlConnection(
        Properties.Settings.Default.some_numbersConnectionString);
    
    SqlCommand insertCommand = new SqlCommand(
        "INSERT into NumbersTable values (1002, 'will delete this one')",
        connection1);
    
    connection1.Open();
    insertCommand.ExecuteNonQuery();
    connection1.Close();
    
    MessageBox.Show("Record inserted. Please check your table data. :)");
    But a database is useless if you cannot use the data you inputed there, right? After all this is why created a database in the first place. So, let us read all the records from our table. While you can use some conditions to select only several records, it is not necessary in this case.

    For a start you need a SqlConnection and SqlCommand classes. They are required for any SQL statement. This time however, we could also use a SqlDataReader class. It fetches the received data and lets you access them one record at a time.

    After calling reader = selectCommand.ExecuteReader(), you are able to access your records one-by-one. By turns, call reader.Read() while checking are there any more records to read. If it returns false then you are done with reading. Then process the current record by reading reader[0], reader[1] and so on. Again, field order is important. Try hard to avoid making mistakes here.

    Code:
    SqlConnection connection1 = new SqlConnection(
        Properties.Settings.Default.some_numbersConnectionString);
    SqlCommand selectCommand = new SqlCommand(
        "SELECT * FROM NumbersTable",
        connection1);
    
    connection1.Open();
    SqlDataReader reader = selectCommand.ExecuteReader();
    string fetchedRecords = string.Empty;
    
    while (reader.Read() == true)
    {
        fetchedRecords += "Record: (number) " + reader[0] + " (descriptio) " + reader[1] + " \n";
    }
    
    connection1.Close();
    MessageBox.Show("Found following records: \n \n" + fetchedRecords);


    Deleting several records: SQL DELETE statement

    Well, deletion is as easy as a pie. There is nothing more than the short code below. Note that you can use several conditions, but ntext and varchar field types do not play with equal-to operator (=). That is why the other version is commented out.

    Code:
    SqlConnection connection1 = new SqlConnection(
        Properties.Settings.Default.some_numbersConnectionString);
    
    SqlCommand insertCommand = new SqlCommand(
        "DELETE NumbersTable WHERE number = 1002",
        //"DELETE NumbersTable WHERE number = 1002 AND description = 'will delete this one'",
        connection1);
    
    connection1.Open();
    insertCommand.ExecuteNonQuery();
    connection1.Close();
    
    MessageBox.Show("Record 1002 deleted. Please check your table data again. :)");


    Thank the author, share some reputation points

    I would like to thank everyone, especially Jordan and Siten, that were supporting me. Writing tutorials is a hard work. If you want to leave a comment or +rep my post then go ahead. I thank you in advance.
    Attached Thumbnails Attached Thumbnails Writing SQL commands in C# - Part 2 - Reading and deleting records-sshot-4.jpg   Writing SQL commands in C# - Part 2 - Reading and deleting records-sshot-6.jpg  
    Attached Files Attached Files

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #2
    Jordan Guest

    Re: Writing SQL commands in C# - Part 2 - Reading and deleting records

    Wow, very nicely done! I enjoy reading your tutorials and will continue to support you. +rep!

  4. #3
    gaylo565's Avatar
    gaylo565 is offline Programming Professional
    Join Date
    May 2007
    Location
    flagstaff, az
    Posts
    268
    Rep Power
    21

    Re: Writing SQL commands in C# - Part 2 - Reading and deleting records

    I like the both of your recent SQL tut's. Very nicely put together. Should be helpfull to many a learning programmer. +rep

  5. #4
    Join Date
    Jul 2006
    Posts
    16,466
    Blog Entries
    74
    Rep Power
    143

    Re: Writing SQL commands in C# - Part 2 - Reading and deleting records

    +rep
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  6. #5
    Join Date
    Mar 2009
    Posts
    1,375
    Rep Power
    24

    Re: Writing SQL commands in C# - Part 2 - Reading and deleting records

    Thank you all three. I appreciate your comments a lot. Thanks to you I achieved a Guru status, too. *hurray*

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Writing SQL commands in C# - Part 1 - INSERT into table
    By ArekBulski in forum CSharp Tutorials
    Replies: 8
    Last Post: 01-14-2011, 01:10 PM
  2. LINQ deleting Records?
    By LiLMsNinja in forum C# Programming
    Replies: 1
    Last Post: 03-27-2010, 08:59 AM
  3. Object reading and writing...
    By lintwurm in forum Java Help
    Replies: 6
    Last Post: 03-11-2010, 01:26 PM
  4. Replies: 2
    Last Post: 09-02-2009, 02:08 PM

Tags for this Thread

Bookmarks

Posting Permissions

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