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)
{
    
//删除操作应该和上面的类似,这里就不举例出来了
}

}

posted @ 2007-06-12 10:10  海底的鱼  阅读(1047)  评论(0)    收藏  举报