使用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 no=@no";
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 No=@No,Name=@Name,Sex=@Sex,birthday=@birthday,adress=@adress,Photo=@Photo WHERE No=@No
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;
}