1. 程式人生 > >ASP.NET ADO.NET資料訪問技術(一使用Command物件的 增刪查改 )

ASP.NET ADO.NET資料訪問技術(一使用Command物件的 增刪查改 )

使用Command物件進行資料庫操作
一、插入資料

//引用資料庫訪問名稱空間
using System.Data.SqlClient;
using System.Configuration;

string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
  SqlConnection sqlconn = new SqlConnection(sqlconnstr);
  //建立Command物件
  SqlCommand sqlcommand = new SqlCommand();
  sqlcommand.Connection = sqlconn;
  //把SQL語句賦給Command物件
  sqlcommand.CommandText = "insert into student(No,Name,Sex,birthday,Adress,Photo)values (@No,@Name,@Sex,@birthday,@Adress,@Photo)";
  sqlcommand.Parameters.AddWithValue("@No",TextBox1.Text);    
  sqlcommand.Parameters.AddWithValue("@Name",TextBox2.Text);    
  sqlcommand.Parameters.AddWithValue("@Sex",DropDownList1.Text);    
  sqlcommand.Parameters.AddWithValue("@birthday",TextBox3.Text);    
  sqlcommand.Parameters.AddWithValue("@Adress",TextBox4.Text);    
  sqlcommand.Parameters.AddWithValue("@Photo",FileUpload1.FileName);    
  try
  {
       //開啟連線
       sqlconn.Open();
       //執行SQL命令
       sqlcommand.ExecuteNonQuery();
       //把學生的照片上傳到網站的images資料夾中
     if (FileUpload1.HasFile == true)
       {
           FileUpload1.SaveAs(Server.MapPath(("~/image/") + FileUpload1.FileName));
       }
       Label1.Text = "成功增加記錄";
  }
  catch (Exception ex)
  {
       Label1.Text = "錯誤原因:"+ ex.Message;
  }
  finally
  {
       sqlcommand = null;
       sqlconn.Close();
       sqlconn = null;
  }

二、刪除操作

//引用資料庫訪問名稱空間
using System.Data.SqlClient;
using System.Configuration;

int intDeleteCount;
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
//建立Command物件
SqlCommand sqlcommand = new SqlCommand();
//給Command物件的Connection和CommandText屬性賦值
sqlcommand.Connection = sqlconn;
sqlcommand.CommandText = "delete from student where 
[email protected]
"; sqlcommand.Parameters.AddWithValue("@no", TextBox1.Text); try { sqlconn.Open(); intDeleteCount = sqlcommand.ExecuteNonQuery(); if (intDeleteCount > 0) Label1.Text = "成功刪除記錄"; else Label1.Text = "該記錄不存在"; } catch (Exception ex) { Label1.Text = "錯誤原因:" + ex.Message; } finally { sqlcommand = null; sqlconn.Close(); sqlconn = null; }

三、查詢操作

//引用資料庫訪問名稱空間
using System.Data.SqlClient;
using System.Configuration;

string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
//建立Command物件
SqlCommand sqlcommand = new SqlCommand();
//給sqlcommand的Connection屬性賦值
sqlcommand.Connection = sqlconn;
//開啟連線
sqlconn.Open();
//SQL命令賦值
sqlcommand.CommandText = "select * from student";
//建立DataReader物件,並返回查詢結果
SqlDataReader sqldatareader = sqlcommand.ExecuteReader();
//逐行遍歷查詢結果
while (sqldatareader.Read())
{
    Label1.Text += sqldatareader.GetString(0) + "  ";
    Label1.Text += sqldatareader.GetString(1) + "  ";
    Label1.Text += sqldatareader.GetString(2) + "  ";
    Label1.Text += sqldatareader.GetDateTime(3) + "  ";
    Label1.Text += sqldatareader.GetString(4) + "  ";
    Label1.Text += sqldatareader.GetString(5) + "&nbsp;&nbsp;<br>";
};
sqlcommand = null;
sqlconn.Close();
sqlconn = null;

四、更新操作
此處一般運用資料庫的儲存過程進行修改

/* 修改資料儲存過程 
CREATE  PROCEDURE update_student
(
   @No nvarchar(10),
   @Name nvarchar(50),
   @Sex nvarchar(2),
   @birthday datetime,
   @adress nvarchar(50),
   @Photo nvarchar(50)
) 
 AS 
   UPDATE student SET  [email protected],[email protected],[email protected],[email protected],[email protected],[email protected] WHERE [email protected]
   RETURN 0  
*/  


//引用資料庫訪問名稱空間
using System.Data.SqlClient;
using System.Configuration;

int intUpdateCount;
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(sqlconnstr);
//建立Command物件
SqlCommand sqlcommand = new SqlCommand();
sqlcommand.Connection = sqlconn;
//把儲存過程名稱賦給Command物件的CommandText屬性
sqlcommand.CommandText = "update_student";

//說明命令型別為儲存過程
sqlcommand.CommandType = CommandType.StoredProcedure;

sqlcommand.Parameters.AddWithValue("@No", TextBox1.Text);
sqlcommand.Parameters.AddWithValue("@Name", TextBox2.Text);
sqlcommand.Parameters.AddWithValue("@Sex", DropDownList1.Text);
sqlcommand.Parameters.AddWithValue("@birthday", TextBox3.Text);
sqlcommand.Parameters.AddWithValue("@Adress", TextBox4.Text);
sqlcommand.Parameters.AddWithValue("@Photo", FileUpload1.FileName);
try
{
    //開啟連線
    sqlconn.Open();
    //執行SQL命令
    intUpdateCount = sqlcommand.ExecuteNonQuery();
    //把學生的照片上傳到網站的image資料夾中
    if (FileUpload1.HasFile == true)
    {
        FileUpload1.SaveAs(Server.MapPath(("~/images/") + FileUpload1.FileName));
    }
    if (intUpdateCount > 0)
        Label1.Text = "成功修改記錄";
    else
        Label1.Text = "該記錄不存在";
}
catch (Exception ex)
{
    Label1.Text = "錯誤原因:" + ex.Message;
}
finally
{
    sqlcommand = null;
    sqlconn.Close();
    sqlconn = null;
}