SqlConnection thisConnection = new SqlConnection(Form_BookManager.strConnection);
SqlDataAdapter sqldata = new SqlDataAdapter("select 密码 from manager where 用户名=" + Form_BookManager.user, thisConnection);
DataSet ds = new DataSet();
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(sqldata);
sqldata.Fill(ds, "manager");
//此处写检验数据库中的密码和修改密码,这不会
sqldata.Update(ds, "manager");
这段代码对应form中的一个按钮,form中有textbox1,textbox2 这2个控件,用来接收用户输入的密码,然后一按这个按钮就检验数据库表中的密码如果和textbox1.Text一样则将textbox2.Text写入到数据库表中的密码字段。
说白了也就是个更改密码的功能。
SqlDataAdapter sqldata = new SqlDataAdapter("select 密码 from manager where 用户名=" + Form_BookManager.user, thisConnection);
DataSet ds = new DataSet();
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(sqldata);
sqldata.Fill(ds, "manager");
//此处写检验数据库中的密码和修改密码,这不会
sqldata.Update(ds, "manager");
这段代码对应form中的一个按钮,form中有textbox1,textbox2 这2个控件,用来接收用户输入的密码,然后一按这个按钮就检验数据库表中的密码如果和textbox1.Text一样则将textbox2.Text写入到数据库表中的密码字段。
说白了也就是个更改密码的功能。
forecah( datarow zc in ds.Table["Table"].rows )
{
if(ds["密码字段"]==textbox1.text);
ds.["密码字段"]=textbox2.text;
}sqldata .update();
if(ds.Table["manager"].Rows.Count ==1)
{
if(ds.Table["manager"].Rows[0][0].ToString() == textbox1.Text.Trim())
{
strUpdate = "update manager set 密码 = '" + textbox2.Text.Trim() +"' where 用户名='" + Form_BookManager.user + "'"; ......
}
}差不多这样子.
DataSet ds = new DataSet();
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(sqldata);
sqldata.Fill(ds, "manager");
foreach (DataRow dr in dt.Rows)
{
if(dr["密码字段"]==textbox1.text)
{
sql语句="update manager set 密码 = '" + textbox2.Text.Trim() +"' where 用户名=" + dr["username"]+"或者id=dr["id"];
}
}
{
if (row["password"]==this.TextBox1.Text.Trim())
{
//更改
row["password"]=this.TextBox2.Trim();
}
}
SqlDataAdapter sqldata = new SqlDataAdapter("select 密码 from manager where 用户名='" + Form_BookManager.user.Trim() + "'", thisConnection);
//Form_BookManager.user 是当前登陆的用户名
DataSet ds = new DataSet();
sqldata.Fill(ds, "manager");
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(sqldata); foreach (DataRow row in ds.Tables["manager"].Rows)
{
if (row["密码"] == textBox1.Text.Trim())
{
row["密码"] = textBox2.Text.Trim();//更改
sqldata.Update(ds, "manager");
MessageBox.Show("信息", "修改密码成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
else
{
label4.Text = "原密码错误";
}
}
}
我在textBox1.Text中的密码明明正确,可还是执行label4.Text = "原密码错误";为什么啊
user1是当前登录的用户,也就是Form_BookManager.user 的值
user1是当前登录的用户,也就是Form_BookManager.user 的值
-------------------------------------------------------------
这个我找到错误了,但是说原密码错误那个还是不行
SqlDataAdapter sqldata = new SqlDataAdapter("select 密码 from manager where 用户名=" + Form_BookManager.user, thisConnection);
DataSet ds = new DataSet();
SqlCommandBuilder sqlbuilder = new SqlCommandBuilder(sqldata);
sqldata.Fill(ds, "manager");
//此处写检验数据库中的密码和修改密码,这不会
if (ds.Tables["manager"].Rows[0]["密码"] == this.TextBox1.Text.Trim())
{
//更改
ds.Tables["manager"].Rows[0]["密码"] = this.TextBox2.Trim();
}
else
{
//说明密码错误
//....
}
sqldata.Update(ds, "manager");
SqlDataAdapter sda = new SqlDataAdapter("select * from user", con);
SqlCommandBuilder builder = new SqlCommandBuilder(sda);
DataSet ds = new DataSet();
sda.Fill(ds, "user"); //比如你的用户名是userName,原密码是oldPwd,新密码是newPwd
for (int i = 0; i < ds.Tables["user"].Rows.Count; i++)
{
if (ds.Tables["user"].Rows[i]["name"] == userName)
{
if (ds.Tables["user"].Rows[i]["pwd"] == oldPwd)
{
ds.Tables["user"].Rows[i]["pwd"] = newPwd;
//提示更改成功
//MessageBox.Show
}
else
{
//提示密码错误
//MessageBox.Show
}
break;
}
}
举个例子: SqlConnection con = new SqlConnection("server=.;database=student;uid=sa;pwd=0421");
//通过用户名来查询出密码,假如用户名是userName
SqlCommand cmd =new SqlCommand ("select pwd from user where name='"+userName+"'", con);
//打开数据库连接
con.Open();
//判断密码是否正确
if (oldPwd == Convert.ToString(cmd.ExecuteScalar()))
{
//说明密码正确,更新
SqlCommand cmdUpdate = new SqlCommand("update user set pwd='" + newPwd + "' where name='" + userName + "'", con);
cmdUpdate.ExecuteNonQuery();
}
else
{
//说明密码不正确
//提示
}
//关闭数据库
con.Close();