怎么通过C#程序实现判断输入文本框信息和数据库某一列值的匹配问题
比如一个程序的修改密码操作。。在修改密码之前要判断原始密码的正确性怎么解决。。下面是我自己弄的一个改密码的代码。怎修改呢privatevoidbutton2_Click(...
比如一个程序的修改密码操作。。在修改密码之前要判断原始密码的正确性怎么解决。。下面是我自己弄的一个改密码的代码。怎修改呢 private void button2_Click(object sender, EventArgs e)
{
if (textBox3.Text.Trim() == string.Empty)
{MessageBox.Show("密码不能为空");
textBox3.Focus();
}
else if(textBox2.Text.Trim()!=textBox3.Text.Trim())
{
MessageBox.Show("两次原密码输入不一样");
textBox2.Focus();
}
else
{
//设置用户字符串
string connectionString = @"Data Source=xiaotu\sqlexpress;Initial Catalog=XKXT;Integrated Security=True;Pooling=False";
//建立连接。
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
SqlCommand myCommand = myConnection.CreateCommand();
string sql = "select password from t_User where username='admin'";
if (textBox2.Text.Trim() != sql)
{
MessageBox.Show("原始密码不正确");
textBox2.Focus();
}
string sql1 = "update t_User set password=('" + textBox1.Text + "')where username='admin'";
myCommand.CommandText = sql1;
myCommand.ExecuteNonQuery();
myConnection.Close();
this.Close();
问题出在这里!!!!。。 if (textBox2.Text.Trim() != sql)
{
MessageBox.Show("原始密码不正确");
textBox2.Focus();
}
描述的非常详细了。。怎修改啊。。各位帮忙啊。。
我意思是在判断两次原始密码输入是否一样以后。。然后再判断原始密码的输入是否正确。。因为在修改密码之前都要验证原始密码啊。。 展开
{
if (textBox3.Text.Trim() == string.Empty)
{MessageBox.Show("密码不能为空");
textBox3.Focus();
}
else if(textBox2.Text.Trim()!=textBox3.Text.Trim())
{
MessageBox.Show("两次原密码输入不一样");
textBox2.Focus();
}
else
{
//设置用户字符串
string connectionString = @"Data Source=xiaotu\sqlexpress;Initial Catalog=XKXT;Integrated Security=True;Pooling=False";
//建立连接。
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
SqlCommand myCommand = myConnection.CreateCommand();
string sql = "select password from t_User where username='admin'";
if (textBox2.Text.Trim() != sql)
{
MessageBox.Show("原始密码不正确");
textBox2.Focus();
}
string sql1 = "update t_User set password=('" + textBox1.Text + "')where username='admin'";
myCommand.CommandText = sql1;
myCommand.ExecuteNonQuery();
myConnection.Close();
this.Close();
问题出在这里!!!!。。 if (textBox2.Text.Trim() != sql)
{
MessageBox.Show("原始密码不正确");
textBox2.Focus();
}
描述的非常详细了。。怎修改啊。。各位帮忙啊。。
我意思是在判断两次原始密码输入是否一样以后。。然后再判断原始密码的输入是否正确。。因为在修改密码之前都要验证原始密码啊。。 展开
2个回答
展开全部
验证文本框是否为空以及前后密码是否一致的问题可以使用验证控件来实现不用写那么多代码的,下面是一个例子:
Class_data cd = new Class_data();//实例化数据库访问公共类
//public bool sql_cunzai(string str_command2)//检测登陆用户存在的方法
//{
// myconnection.Open();
// SqlCommand mycommand = new SqlCommand(str_command2, myconnection);
// mycommand.ExecuteNonQuery();
// SqlDataReader myreader = mycommand.ExecuteReader();
// myreader.Read();
// if (myreader.HasRows)
// {
// myconnection.Close();
// return true;
// }
// else
// { myconnection.Close(); return false; }
// }
//public string sql_xiugai(string str_command)//修改数据库的方法
//{
// try
// {
// myconnection.Open();
// SqlCommand mycommand = new SqlCommand(str_command, myconnection);
// mycommand.ExecuteNonQuery();
// myconnection.Close();
// return "操作已成功!";
// }
// catch (Exception ex)
// { myconnection.Close(); return ex.Message.ToString(); }
//}
str_select = "select * from Admin_list where Admin_ID='" + str_user_ID + "'and Pwd='" + txb_jPWD.Text.Trim()+"'";
//cd.sql_cunzai(str_select)
if (cd.sql_cunzai(str_select))//确认用户旧密码输入正确,开始修改
{ str_select="update Admin_list set Pwd='" + this.txb_xPWD1.Text.Trim() + "' where Admin_ID='" + str_user_ID + "'";
Response.Write("<script>alert('"+cd.sql_xiugai(str_select)+"')</script>");
}
else
{ Response.Write("<script>alert('旧密码输入错误,请重新输入!')</script>");}
Class_data cd = new Class_data();//实例化数据库访问公共类
//public bool sql_cunzai(string str_command2)//检测登陆用户存在的方法
//{
// myconnection.Open();
// SqlCommand mycommand = new SqlCommand(str_command2, myconnection);
// mycommand.ExecuteNonQuery();
// SqlDataReader myreader = mycommand.ExecuteReader();
// myreader.Read();
// if (myreader.HasRows)
// {
// myconnection.Close();
// return true;
// }
// else
// { myconnection.Close(); return false; }
// }
//public string sql_xiugai(string str_command)//修改数据库的方法
//{
// try
// {
// myconnection.Open();
// SqlCommand mycommand = new SqlCommand(str_command, myconnection);
// mycommand.ExecuteNonQuery();
// myconnection.Close();
// return "操作已成功!";
// }
// catch (Exception ex)
// { myconnection.Close(); return ex.Message.ToString(); }
//}
str_select = "select * from Admin_list where Admin_ID='" + str_user_ID + "'and Pwd='" + txb_jPWD.Text.Trim()+"'";
//cd.sql_cunzai(str_select)
if (cd.sql_cunzai(str_select))//确认用户旧密码输入正确,开始修改
{ str_select="update Admin_list set Pwd='" + this.txb_xPWD1.Text.Trim() + "' where Admin_ID='" + str_user_ID + "'";
Response.Write("<script>alert('"+cd.sql_xiugai(str_select)+"')</script>");
}
else
{ Response.Write("<script>alert('旧密码输入错误,请重新输入!')</script>");}
展开全部
你得用dataRead方法把数据库里的数据读出来然后比较,你和sql语句比较怎么比啊,
string sql=string.farmat(@"select count(*) from t_User where password ={0}andadmin={1}",textBox2.Text.Trim(),textBox1.Text.Trim() );这样是把界面输入的放到SQL语句里面去了,
count(*)返回的是受影响的行数,如果有这个密码则正确,如果对不上密码就不正确,也就是说只要count>0则密码正确。
SqlCommand myCommand = myConnection.CreateCommand(sql,connection);
connection.open();
count=(int)command.ExecuteScalar();
if(count=0){密码不正确}
else{密码正确}
string sql=string.farmat(@"select count(*) from t_User where password ={0}andadmin={1}",textBox2.Text.Trim(),textBox1.Text.Trim() );这样是把界面输入的放到SQL语句里面去了,
count(*)返回的是受影响的行数,如果有这个密码则正确,如果对不上密码就不正确,也就是说只要count>0则密码正确。
SqlCommand myCommand = myConnection.CreateCommand(sql,connection);
connection.open();
count=(int)command.ExecuteScalar();
if(count=0){密码不正确}
else{密码正确}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询