Csharp/CSharp Tutorial/ADO.Net/SqlCommand Delete

Материал из .Net Framework эксперт
Версия от 15:19, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Delete data using sql statements

<source lang="csharp">using System; using System.Data; using System.Data.SqlClient; class MainClass {

 static void Main(string[] args)
 {
   SqlConnection MyConnection = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;");
   MyConnection.Open();
   String MyString = "DELETE Employee";
   SqlCommand MyCmd = new SqlCommand(MyString, MyConnection);
   MyCmd.ExecuteScalar();
   MyConnection.Close();
 }

}</source>

Deleting Data

<source lang="csharp">using System; using System.Data; using System.Data.SqlClient; using System.Collections.Generic; using System.Text;

 class Program
 {
   static void Main(string[] args)
   {
     SqlConnection thisConnection = new SqlConnection(
               @"Data Source=.\SQLEXPRESS;" +
               @"AttachDbFilename="NORTHWND.MDF";" +
               @"Integrated Security=True;Connect Timeout=30;User Instance=true");
     SqlDataAdapter thisAdapter = new SqlDataAdapter("SELECT CustomerID, CompanyName FROM Customers", thisConnection);
     SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);
     DataSet thisDataSet = new DataSet();
     thisAdapter.Fill(thisDataSet, "Customers");
     Console.WriteLine("# rows before change: {0}",thisDataSet.Tables["Customers"].Rows.Count);
     DataColumn[] keys = new DataColumn[1];
     keys[0] = thisDataSet.Tables["Customers"].Columns["CustomerID"];
     thisDataSet.Tables["Customers"].PrimaryKey = keys;
     DataRow findRow = thisDataSet.Tables["Customers"].Rows.Find("1");
     findRow.Delete();
     int rowsAffected = thisAdapter.Update(thisDataSet, "Customers");
           Console.WriteLine("Deleted {0} rows.", rowsAffected);
     Console.WriteLine(thisDataSet.Tables["Customers"].Rows.Count);
     thisConnection.Close();
   }
 }</source>

Execute nonquery to delete a record (row)

<source lang="csharp">using System; using System.Data; using System.Data.SqlClient; class MainClass {

  static void Main()
  {
     SqlConnection conn = new SqlConnection("server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;");
     string sqlqry = @"select count(*) from employee ";
     string sqlins = @"insert into employee (firstname,lastname)values("Z", "Z")";
     string sqldel = @"delete from employee  where firstname = "Z" and lastname = "Z"";
     SqlCommand cmdqry = new SqlCommand(sqlqry, conn);
     SqlCommand cmdnon = new SqlCommand(sqlins, conn);
     try
     {
        conn.Open();
        Console.WriteLine("Before INSERT: Number of employees {0}\n", cmdqry.ExecuteScalar());
        Console.WriteLine("Executing statement {0}", cmdnon.rumandText);
        cmdnon.ExecuteNonQuery();
        Console.WriteLine("After INSERT: Number of employees {0}\n", cmdqry.ExecuteScalar());
        cmdnon.rumandText = sqldel;
        Console.WriteLine("Executing statement {0}", cmdnon.rumandText);
        cmdnon.ExecuteNonQuery();
        Console.WriteLine("After DELETE: Number of employees {0}\n", cmdqry.ExecuteScalar());
     }
     catch (SqlException ex)
     {
        Console.WriteLine(ex.ToString());
     }
     finally
     {
        conn.Close();
        Console.WriteLine("Connection Closed.");
     }
  }

}</source>