C# SQL Update Statement Example – C# Sql Command – C# SQL Update Statement Example

C# SQL Update Statement Example – C# Sql Command – C# SQL Update Statement Example

Purpose: – Illustrates using C# Sql Command Update statement and checking the result.
Prerequistes:

  1. Install C# (Express or Standard Edition)
  2. Install SQL Server Express
  3. Download Northwind Database
  4. Attach Northwind Database to Databases in Sql Express

Notes:

  • Console Application is used to simplify things, but Windows Forms or Web Forms could also be used
  • You can build a library of syntax examples by using same project over and over and just commenting out what you do not want to execute in Program.cs

Instructions:

  1. Use C# 2008 (Express or Standard) Edition
  2. Create new project; select Console Application; name of Project could be CSharp_Syntax.
  3. Right-click project name in solution explorer; add new folder; name of folder could be DatabaseADONET
  4. Right-click folder; add class; class name could be clsSqlCommandUpdate.cs
  5. Copy code into clsSqlCommandUpdate.cs
  6. Copy code into Program.cs
  7. Click green arrow to start with debugging

Step 1: Use View Plain to Cut-n-paste code into clsSqlCommandUpdate.cs

using System;
using System.Data;
using System.Data.SqlClient;
 
public class clsSqlCommandUpdate
{
//Create Connection
SqlConnection thisConnection = new SqlConnection("server=(local)\\SQLEXPRESS;" + "integrated security=sspi;database=Northwind");
 
public void Main()
{
 
OpenConnection();
 
//Insert Rows to make sure they exist
Console.WriteLine("\n");
Console.WriteLine("***Insert Rows to make sure they exist***");
InsertRows();
 
//Display Rows Before Update
Console.WriteLine("\n");
Console.WriteLine("***Display Rows Before Update***");
SelectRows();
 
//Update Rows
Console.WriteLine("\n");
Console.WriteLine("***Perform Update***");
UpdateRows();
 
//Display Rows after update
Console.WriteLine("\n");
Console.WriteLine("***Display Rows After Update***");
SelectRows();
 
//Clean up with delete of all inserted rows
Console.WriteLine("\n");
Console.WriteLine("***Clean Up By Deleting Inserted Rows***");
DeleteRows();
 
// Close Connection
thisConnection.Close();
Console.WriteLine("Connection Closed");
 
Console.ReadLine();
}
void OpenConnection()
{
try
{
// Open Connection
thisConnection.Open();
Console.WriteLine("Connection Opened");
}
catch (SqlException ex)
{
// Display error
Console.WriteLine("Error: " + ex.ToString());
}
}
void SelectRows()
{
 
try
{
// Sql Select Query
string sql = "SELECT * FROM Employees";
SqlCommand cmd = new SqlCommand(sql, thisConnection);
 
SqlDataReader dr;
dr = cmd.ExecuteReader();
string strEmployeeID = "EmployeeID";
string strFirstName = "FirstName";
string strLastName = "LastName";
 
Console.WriteLine("{0} | {1} | {2}", strEmployeeID.PadRight(10), strFirstName.PadRight(10), strLastName);
Console.WriteLine("==========================================");
while (dr.Read())
{
//reading from the datareader
Console.WriteLine("{0} | {1} | {2}",
dr["EmployeeID"].ToString().PadRight(10),
dr["FirstName"].ToString().PadRight(10),
dr["LastName"]);
}
dr.Close();
Console.WriteLine("==========================================");
}
 
catch (SqlException ex)
{
// Display error
Console.WriteLine("Error: " + ex.ToString());
}
 
}
 
void InsertRows()
{
 
//Insert Rows to make sure row exists before updating
//Create Command object
SqlCommand nonqueryCommand = thisConnection.CreateCommand();
 
try
{
 
// Create INSERT statement with named parameters
nonqueryCommand.CommandText = "INSERT  INTO Employees (FirstName, LastName) VALUES (@FirstName, @LastName)";
 
// Add Parameters to Command Parameters collection
nonqueryCommand.Parameters.Add("@FirstName", SqlDbType.VarChar, 10);
nonqueryCommand.Parameters.Add("@LastName", SqlDbType.VarChar, 20);
 
// Prepare command for repeated execution
nonqueryCommand.Prepare();
 
          // Data to be inserted
string[] names = { "Wade", "David", "Charlie" };
for (int i = 0; i < = 2; i++)
            {
                nonqueryCommand.Parameters["@FirstName"].Value = names[i];
                nonqueryCommand.Parameters["@LastName"].Value = names[i];
 
                Console.WriteLine("Executing {0}", nonqueryCommand.CommandText);
                Console.WriteLine("Number of rows affected : {0}", nonqueryCommand.ExecuteNonQuery());
            }
        }
        catch (SqlException ex)
        {
            // Display error
            Console.WriteLine("Error: " + ex.ToString());
        }
        finally
        {
 
        }
 
    }
 
    void UpdateRows()
    {
 
        try
        {
            // 1. Create Command
            // Sql Update Statement
            string updateSql = "UPDATE Employees " + "SET LastName = @LastName " + "WHERE FirstName = @FirstName";
            SqlCommand UpdateCmd = new SqlCommand(updateSql, thisConnection);
 
            // 2. Map Parameters
 
            UpdateCmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 10, "FirstName");
 
            UpdateCmd.Parameters.Add("@LastName", SqlDbType.NVarChar, 20, "LastName");
 
            UpdateCmd.Parameters["@FirstName"].Value = "Wade";
            UpdateCmd.Parameters["@LastName"].Value = "Harvey";
 
            UpdateCmd.ExecuteNonQuery();
        }
 
        catch (SqlException ex)
        {
            // Display error
            Console.WriteLine("Error: " + ex.ToString());
        }
 
    }
 
    void DeleteRows()
    {
 
        try
        {
            //Create Command objects
            SqlCommand scalarCommand = new SqlCommand("SELECT COUNT(*) FROM Employees", thisConnection);
 
            // Execute Scalar Query
            Console.WriteLine("Before Delete, Number of Employees = {0}", scalarCommand.ExecuteScalar());
 
            // Set up and execute DELETE Command
            //Create Command object
            SqlCommand nonqueryCommand = thisConnection.CreateCommand();
            nonqueryCommand.CommandText = "DELETE FROM Employees WHERE " + "Firstname='Wade'  or " + "Firstname='Charlie' AND Lastname='Charlie' or " + "Firstname='David' AND Lastname='David' ";
            Console.WriteLine("Executing {0}", nonqueryCommand.CommandText);
            Console.WriteLine("Number of rows affected : {0}", nonqueryCommand.ExecuteNonQuery());
 
            // Execute Scalar Query
            Console.WriteLine("After Delete, Number of Employee = {0}", scalarCommand.ExecuteScalar());
        }
 
        catch (SqlException ex)
        {
            // Display error
            Console.WriteLine("Error: " + ex.ToString());
        }
 
    }
 
}

Step 2: Use View Plain to Cut-n-paste code into Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CSharp_Syntax
{
class Program
{
static void Main(string[] args)
{
//DatabaseADONET
 
clsSqlCommandUpdate mySqlCommandUpdate = new clsSqlCommandUpdate();
mySqlCommandUpdate.Main();
 
}
}
}