+ Reply to Thread
Results 1 to 5 of 5

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

  1. #1
    Guru ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski's Avatar
    Join Date
    Mar 2009
    Posts
    1,379

    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.
    Bijgevoegde miniaturen 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  
    Bijgevoegde bestanden

  2. #2
    Administrator Jordan is a name known to all Jordan is a name known to all Jordan is a name known to all Jordan is a name known to all Jordan is a name known to all Jordan is a name known to all Jordan's Avatar
    Join Date
    Nov 2005
    Location
    Hendersonville, NC
    Posts
    24,750
    Blog Entries
    97

    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!

  3. #3
    Programming Professional gaylo565 is a jewel in the rough gaylo565 is a jewel in the rough gaylo565 is a jewel in the rough gaylo565's Avatar
    Join Date
    May 2007
    Location
    flagstaff, az
    Posts
    263

    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

  4. #4
    Super Moderator WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther has much to be proud of WingedPanther's Avatar
    Join Date
    Jul 2006
    Age
    37
    Posts
    13,138
    Blog Entries
    58

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

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

  5. #5
    Guru ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski is just really nice ArekBulski's Avatar
    Join Date
    Mar 2009
    Posts
    1,379

    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)