修改数据库中数据

本文介绍了在ASP.NET中使用SQL语句、SqlParameter参数及存储过程三种方式更新数据库的具体实现方法。通过实例展示了每种方法的操作步骤和关键代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//1.利用SQL语句修改
protected void Page_Load(object sender, EventArgs e) 
    

        
if (!Page.IsPostBack)//首次执行页面时 
        
            GridViewBind();
//绑定自定义方法GridViewBind 
            if (Request.QueryString["BookID"!= null)//判断,如果可以获取到BookID的值,则执行以下操作 
            
                Label5.Text 
= Request.QueryString["BookID"]; 
                SqlConnection con 
= new SqlConnection("Server=(Local);Uid=sa;pwd=;DataBase=fangdawei"); 
                con.Open(); 
                SqlDataAdapter ada 
= new SqlDataAdapter("select * from tb_BookInfo where BookID=" + Request.QueryString["BookID"+ "", con); 
                DataSet ds 
= new DataSet(); 
                ada.Fill(ds, 
"tb_BookInfo"); 
                DataRowView drv 
= ds.Tables["tb_BookInfo"].DefaultView[0]; 
                TextBox1.Text 
= drv["BookName"].ToString(); 
                TextBox2.Text 
= drv["BookIntroduce"].ToString(); 
                TextBox3.Text 
= drv["BookPrice"].ToString(); 
            }
 
        }
 
    }
 
   
//自定义绑定方法GridViewBind()方法代码如下。  public void GridViewBind()  
    
        SqlConnection con 
= new SqlConnection("Server=(Local);Uid=sa;pwd=;DataBase=fangdawei"); 
        con.Open(); 
        SqlDataAdapter ada 
= new SqlDataAdapter("select * from tb_BookInfo", con); 
        DataSet ds 
= new DataSet(); 
        ada.Fill(ds); 
        GridView1.DataSource 
= ds; 
        GridView1.DataBind(); 
        con.Close(); 
    }
 
   
//“确定更新”按钮的Click事件代码如下。  protected void Button1_Click(object sender, EventArgs e)//更新按钮 
    
        SqlConnection con 
= new SqlConnection("Server=(Local);Uid=sa;pwd=;DataBase=fangdawei"); 
        con.Open(); 
        SqlCommand com 
= new SqlCommand("update tb_BookInfo set BookName='" + TextBox1.Text + "',BookIntroduce='" + TextBox2.Text + "', BookPrice=" + Convert.ToDecimal(TextBox3.Text) + " where BookID=" + Request["BookID"], con); 
        com.ExecuteNonQuery(); 
        GridViewBind(); 
        con.Close(); 
        Response.Redirect(
"Default.aspx"); 
        Response.Write(
"<script>alert'成功!!!!'</script>"); 
    }
 


//2.通过SqlParameter参数修改
public void BindData() 

        SqlConnection myconn 
= new SqlConnection("server=(local);Database=fangdawei;Uid=sa;Pwd="); 
        myconn.Open(); 
        SqlDataAdapter da 
= new SqlDataAdapter("select * from tb_Book", myconn); 
        DataSet ds 
= new DataSet(); 
        da.Fill(ds, 
"tb_Book"); 
        GridView1.DataSource 
= ds; 
        GridView1.DataKeyNames 
= new string[] "BookID" }
        GridView1.DataBind(); 
    }
 


 
// “修改”按钮的Click事件代码如下。 protected void Button1_Click(object sender, EventArgs e) 
    
        SqlConnection myconn 
= new SqlConnection("server=(local);Database=fangdawei;Uid=sa;Pwd="); 
        
//打开链接 
        myconn.Open(); 
        
//插入命令 
        string sqlstr = "update tb_Book set BookName=@BookName,BookIntroduce=@BookIntroduce,BookPrice=@BookPrice,BookIsNew=@BookIsNew where BookID=@BookID"
        SqlCommand mycom 
= new SqlCommand(sqlstr, myconn); 
        
//添加参数 
        mycom.Parameters.Add(new SqlParameter("@BookID", SqlDbType.Int)); 
        mycom.Parameters.Add(
new SqlParameter("@BookName", SqlDbType.VarChar, 50)); 
        mycom.Parameters.Add(
new SqlParameter("@BookIntroduce", SqlDbType.VarChar, 50)); 
        mycom.Parameters.Add(
new SqlParameter("@BookPrice", SqlDbType.Money, 8)); 
        mycom.Parameters.Add(
new SqlParameter("@BookIsNew", SqlDbType.Char, 10)); 
        
//给参数赋值 
        mycom.Parameters["@BookName"].Value = TextBox1.Text; 
        mycom.Parameters[
"@BookIntroduce"].Value = TextBox2.Text; 
        mycom.Parameters[
"@BookPrice"].Value = Convert.ToDecimal(TextBox3.Text); 
        mycom.Parameters[
"@BookIsNew"].Value = DropDownList1.SelectedValue.ToString(); 
        mycom.Parameters[
"@BookID"].Value = iid; 
        
try 
        

            
//执行添加语句 
            mycom.ExecuteNonQuery(); 
            Response.Write(
"<script language=javascript>alert('修改成功!')</script>"); 
            myconn.Close(); 
            BindData(); 
        }
 
        
catch(Exception ex) 
        

            Response.Write(ex.Message.ToString()); 
        }
 
    }
 


//3.通过存储过程修改
CREATE   PROCEDURE probookinfom 
(@BookName    [VarChar](
50), 
 @BookIntroduce   [VarChar](
50), 
 @BookPrice   [Money], 
@BookIsNew    [VarChar](
50), 
      @BookID [
int]) 
AS UPDATE [fangdawei].[dbo].[tb_BookInfo]  
SET 
 [BookName]
= @BookName, 
[BookIntroduce]
= @BookIntroduce, 
[BookPrice]
= @BookPrice, 
[BookIsNew]
= @BookIsNew, 
[BookID]
=@BookID 
WHERE    ([BookID]
=@BookID) 


   
protected void Button1_Click(object sender, EventArgs e) 
    

        SqlConnection myconn 
= new SqlConnection("server=(local);Database=fangdawei;Uid=sa;Pwd="); 
        
//打开链接 
        myconn.Open(); 
        
//创建SqlCommand对象 
        SqlCommand mycom = new SqlCommand("proUpdatebookinfo",myconn); 
        
//调用存储过程 
        mycom.CommandType = CommandType.StoredProcedure; 
           //存储过程名称
           mycom.CommandText= "probookinfom".
        
//添加参数 
       SqlParameter[] prams=
           
new SqlParameter("@BookName", SqlDbType.VarChar, 50), 
                 
new SqlParameter("@BookIntroduce", SqlDbType.VarChar, 50), 
               
new SqlParameter("@BookPrice", SqlDbType.Money, 8), 
             
new SqlParameter("@BookIsNew", SqlDbType.Char, 10), 
       
new SqlParameter("@BookID",SqlDbType.Int,4), 
    }

        
//给参数赋值 
       prams[0].Value = TextBox1.Text; 
       prams[
1].Value = TextBox2.Text; 
       prams[
2].Value = Convert.ToDecimal(TextBox3.Text); 
       prams[
3].Value = TextBox4.Text; 
       prams[
4].Value = TextBox5.Text; 
       
//依次把参数传入命令文本 
        foreach (SqlParameter parameter in prams) 
       

           mycom.Parameters.Add(parameter); 
       }
 
        
try 
        

            
//执行更新操作 
            mycom.ExecuteNonQuery(); 
            Response.Write(
"<script>alert('修改成功!')</script>"); 
        }
 
        
catch(Exception ex) 
        

            Response.Write(exception.Message); 
        }
 
    }
 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值