Bind parameters to insert command

image_pdfimage_print
   


using System;
using System.Data;
using System.Data.SqlClient;

   class PropagateAdds{
      static void Main() {
         string connString = "server=(local)SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
         string qry = @"select * from employee";
         string upd = @"insert into employee(firstname,lastname)values(@firstname,@lastname)";

         SqlConnection conn = new SqlConnection(connString);

         try{
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = new SqlCommand(qry, conn);

            DataSet ds = new DataSet();   
            da.Fill(ds, "employee");

            DataTable dt = ds.Tables["employee"];

            DataRow newRow = dt.NewRow();
            newRow["firstname"] = "R";
            newRow["lastname"] = "B";
            dt.Rows.Add(newRow);

            foreach (DataRow row in dt.Rows){
               Console.WriteLine(
                  "{0} {1}",
                  row["firstname"].ToString().PadRight(15),
                  row["lastname"].ToString().PadLeft(25));
            }

            // Update employees
            SqlCommand cmd = new SqlCommand(upd, conn);
            cmd.Parameters.Add("@firstname", SqlDbType.NVarChar, 10, "firstname");
            cmd.Parameters.Add("@lastname",  SqlDbType.NVarChar, 20, "lastname");
            da.InsertCommand = cmd;
            da.Update(ds, "employee");
         } catch(Exception e) {
            Console.WriteLine("Error: " + e);
         } finally {
            conn.Close();
         }
      }  
   }