C#/.net网页用户信息修改问题 用户信息不能更新 (长度限制无关的代码这里省了)

[复制链接]
查看11 | 回复4 | 2010-7-1 15:29:29 | 显示全部楼层 |阅读模式
using System.Data.SqlClient;
namespace legou
{

public class Users

{

public Users()

{

//

//TODO: 在此处添加构造函数逻辑

//

}
///

/// 用户信息更新

///

/// 用户登录密码

/// 用户Email

/// 用户登录名

public void UserInfoUpdate(string userPwd, string userEmail, string userName, string userAddress)

{

DataBase db = new DataBase();

//定义用户信息更新的SQL语句

string sql = "update UserInfo set Pwd='" + userPwd + "',Email='" + userEmail + "' ,Address='" + userAddress + "' where Name='" + userName + "'";

//string sql = "update UserInfo set Pwd='"+userPwd+"',Email='" + userEmail + "' ,Address='" + userAddress + "' where Name='" + userName + "'";

//调用数据访问类的ExecuteSQL()方法

db.ExecuteSQL(sql);

db.CloseConn();

}

}
}
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace legou
{

public partial class UserInfoManage : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string userName = Session["UserName"].ToString();

Users user = new Users();

SqlDataReader dr = user.GetUserInfo(userName);

dr.Read();

this.txtUserName.Text = dr["Name"].ToString();

// this.txtUserPwd.Text = dr["Pwd"].ToString();

// this.txtUserPwd2.Text = dr["Pwd"].ToString();

// this.txtUserAddress.Text = dr["Address"].ToString();

// this.txtUserEmail.Text = dr["Email"].ToString();

dr.Close();

if (!IsPostBack)

{

lblValidator.Text = new randomCode().RandomNum(4);///产生验证码

}
}
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)

{

if (this.txtValidator.Text == this.lblValidator.Text)

{

string userName = Session["UserName"].ToString();

string userPwd = this.txtUserPwd.Text;

string userPwd2 = this.txtUserPwd.Text;

string userEmail = this.txtUserEmail.Text.Trim();

string userAddress = this.txtUserAddress.Text.Trim();

Users user = new Users();

user.UserInfoUpdate(userPwd, userEmail, userName, userAddress);

Response.Write("");

}

else

{

Response.Write("");

}

}

}
}
不报错

回复

使用道具 举报

千问 | 2010-7-1 15:29:29 | 显示全部楼层
首先默认你已经按照2楼的方法检查输入的数据都存在,特别是username,如果无法锁定userName,整个update command默认返回处理成功,无错误,因为0 row updated.如果问题仍然存在,那就是database指定错误了。解决方法如下:如果你调用sqlclient,不要用database x= new database().....而是用sql的环境:SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["你的DBconnectionstring"].ConnectionString);

回复

使用道具 举报

千问 | 2010-7-1 15:29:29 | 显示全部楼层
刷新机制。在page_load方法中,添加最外围的if(!IspostBack)
回复

使用道具 举报

千问 | 2010-7-1 15:29:29 | 显示全部楼层
user.UserInfoUpdate(userPwd, userEmail, userName, userAddress);这里面想必是SQL语句了,你可以把SQL语句Print出来,Response.Write(strSQL)看出来的SQL语句里是否有数据。如果你是用参数更新的话,那把所有参数也Print出来看是否正确。要学会调试。关键就是在
回复

使用道具 举报

千问 | 2010-7-1 15:29:29 | 显示全部楼层
报什么错误呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行