Asp.net(C#) 之防注入数据库操作
一:首先在Web.Config中配置数据库连接节点
二:我们为这个连接字符串创建几个常用的数据操作类
类DataBase
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Web.UI.WebControls;
namespace Caceolod.SQLOP
{
/// <summary>
/// 通用数据库类(SqlServer2005)
/// <author>Caceolod</author>
/// <version>2.0版</version>
/// <realseDate>2007-06-12</realseDate>
/// </summary>
public class DataBase:Object
{
private string ConnStr = null;
/// <summary>
/// 构架函数
/// </summary>
public DataBase()
{
ConnStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
}
/// <summary>
/// 返回一个SqlDataSource
/// </summary>
/// <returns></returns>
public SqlDataSource GetSqlDataSource()
{
SqlDataSource sds = new SqlDataSource();
sds.ConnectionString = ConnStr;
return sds;
}
}
上面两步操作准备好以后 ,我们就可以通过这个类来操作和使用数据库了。
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Caceolod.SQLOP;
public partial class TestDataOp:System.Web.UI.Page
{
DataBase db = new DataBase();
SqlDataSource sds = null;

protected void Page_Load(object sender,EventArgs e)
{
BindData();
}
private void BindData()
{
sds = db.GetSqlDataSource();
sds.SelectCommand =”select * from Datatable where F_ID=@ID”;
sds.SelectParameter.Add(“ID”,Request.QueryString[“ID”].ToString());
sds.DataSourceMode = SqlDataSourceMode.DataReader;
try
{
SqlDataReader sdr =(SqlDataReader)sds.Select(DataSourceSelectArguments.Empty);
if(sds.Read())
{
This.txtLabel.Text = sdr[“F_ID”].ToString();
}
sdr.Close();
}
catch
{
throw;
}
}

protected void btnEdit_Click(object sender,EventArgs e)
{
sds = db.GetSqlDataSource();
sds.UpdateCommand =”Update DataTable Set F_Column1=@Column1,F_Column2=@Column2 where F_ID=@ID”;
sds.UpdateParameters.Add(“Column1”,”txtColumn1”);
sds.UpdateParameters.Add(“Column2”,”txtColumn2”);
sds.UpdateParameters.Add(“ID”,Request.QueryString[“ID”]);
try
{
int i= sds.Update();
if(i==0)//i=0表示修改失败
{
Reponse.Write(“<Script Language=’JavaScript’>alert(‘数据修改失败’);</Script>”);
}
else
{
Reponse.Write(“<Script Language=’JavaScript’>alert(‘数据修改成功’);</Script>”);
}
}
catch
{
Reponse.Write(“<Script Language=’JavaScript’>alert(‘数据修改失败’);</Script>”);
}
}
protected void btnDel_Click(object sender,EventArgs e)
{
//删除操作应该和上面的类似,这里就不举例出来了
}
}




浙公网安备 33010602011771号