ASP.NET ADO.NET資料訪問技術(一使用Command物件的 增刪查改 )
阿新 • • 發佈:2018-10-31
使用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) + " <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;
}