博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

纯使用DataSource的事件进行参数编程---笔记

Posted on 2010-09-11 23:10  EVON168  阅读(415)  评论(0编辑  收藏  举报
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class SqlDataSource_Default2 : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    {

    }
    
protected void Button1_Click(object sender, EventArgs e)
    {
        
this.GridView1.DataSourceID = this.SqlDataSource1.ID;
        
this.GridView1.DataBind();
    }
    
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
    {
        
//获取受数据库操作影响的行数
        this.Label1.Text = e.AffectedRows.ToString();
    }
    
protected void Button2_Click(object sender, EventArgs e)
    {
        
this.SqlDataSource1.InsertParameters["StuID"].DefaultValue = this.txtuserid.Text;
        
this.SqlDataSource1.InsertParameters["StuName"].DefaultValue = this.txtusername.Text;
        
this.SqlDataSource1.InsertParameters["StuAge"].DefaultValue = this.txtuserage.Text;
        
this.SqlDataSource1.InsertParameters["ClassID"].DefaultValue = this.txtclass.Text;
        
//执行之前给参数赋值
        this.SqlDataSource1.Insert();

        
this.GridView1.DataSourceID = this.SqlDataSource1.ID;
        
this.GridView1.DataBind();
    }
    
protected void Button3_Click(object sender, EventArgs e)
    {
        
this.SqlDataSource1.Insert();

        
this.GridView1.DataSourceID = this.SqlDataSource1.ID;
        
this.GridView1.DataBind();
    }

    
protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
    {
        
//事中给参数值
        e.Command.Parameters["@StuID"].Value = this.txtuserid.Text;
        e.Command.Parameters[
"@StuName"].Value = this.txtusername.Text;
        e.Command.Parameters[
"@StuAge"].Value = this.txtuserage.Text;
        e.Command.Parameters[
"@ClassID"].Value = this.txtclass.Text;

        
//编号为AB的不允许添加
        
//取值

        
string id = "";
        id 
= e.Command.Parameters["@StuID"].Value.ToString();
        
if (id == "admin")
        {
            
//取消操作
            e.Cancel = true;
        }

    }
    
protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
    {
        
if (e.Exception == null)
        {
            
//没报错
            this.Label2.Text = e.AffectedRows.ToString();
        }
        
else
        {
            
this.Label2.Text = e.Exception.Message;
            e.ExceptionHandled 
= true;
        }
    }
}