数据库更新的时候遇到的奇怪问题,原来是UPDATE里的顺序问题

数据库UPDATE有问题,用第二个strSQL语句是正常的  第一个不提示错误 但是数据没有写到数据库中~~
None.gif          string  id  =  Request.QueryString[ " id " ];         
None.gif        
string  content  =  tb1.Text.Replace( " \r\n " " <br> " ); 
None.gif        
string  user  =  tb2.Text; 
None.gif        
// string strIp = "a124"; 
None.gif
         string  strIp  =  Page.Request.UserHostAddress.ToString(); 
None.gif        
string  strDate  =  DateTime.Now.ToLongTimeString(); 
None.gif        
string  strConn  =   " Provider=Microsoft.Jet.OleDb.4.0;data source= "   +  Server.MapPath( " db.mdb " ); 
None.gif        
// 用这个更新 调试的时候不报错 但是数据其实没有更新到 
None.gif
         string  strSql  =   " update guestbook set g_Replyuser = @user, g_replycontent = @content, g_Replyip=@strIp, g_Replydate = @strDate where g_id = @id " ;         
None.gif        
// 用下面一句SQL语句更新数据库是正常的 
None.gif
//       string strSql = "update guestbook set g_Replyuser = @user, g_replycontent = @content where g_id = @id"; 
None.gif
        OleDbConnection objConn  =   new  OleDbConnection(strConn); 
None.gif        OleDbCommand cmd 
=   new  OleDbCommand(strSql, objConn); 
None.gif        cmd.Parameters.AddWithValue(
" @user " , user); 
None.gif        cmd.Parameters.AddWithValue(
" @content " , content); 
None.gif        cmd.Parameters.AddWithValue(
" @id " ,id); 
None.gif        cmd.Parameters.AddWithValue(
" @strIp " , strIp); 
None.gif        cmd.Parameters.AddWithValue(
" @strDate " , strDate); 
None.gif        objConn.Open(); 
None.gif        cmd.ExecuteNonQuery(); 
None.gif        objConn.Close(); 
None.gif

第二个也是UPDATE也无效
None.gif string  name  =   " test " ;        
None.gif            
string  pwd_new  =   this .tb_new.Text.Trim(); 
None.gif            
string  strSql_update  =   " update [user] set [password] = @pwd_new where [name] = @name "
None.gif            
string  strConn  =   " Provider=Microsoft.Jet.OleDb.4.0;data source= "   +  Server.MapPath( " db.mdb " ); 
None.gif            OleDbConnection objConn2 
=   new  OleDbConnection(strConn); 
None.gif            OleDbCommand cmd2 
=   new  OleDbCommand(strSql_update, objConn2); 
None.gif            cmd2.Parameters.AddWithValue(
" @name " , name); 
None.gif            cmd2.Parameters.AddWithValue(
" @pwd_new " , pwd_new); 
None.gif            objConn2.Open(); 
None.gif            cmd2.ExecuteNonQuery(); 
None.gif            objConn2.Close();

=====

结果处理是
把cmd.Parameters.AddWithValue("@id", id);放到后面
第二个也是
=====
自己的看法是 UPDATE里的cmd.Parameters.AddWithValue()和顺序是相关的。

转载于:https://www.cnblogs.com/wysky/archive/2006/10/19/534125.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值