日期:2014-05-18  浏览次数:20959 次

C# winform窗体登录代码
代码如下,不论输入的密码是否正确,都会弹出OK。怎么回事啊?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using JF_CRM_BLL;
using JF_CRM_Model;

namespace JF_Form_Login
{
  public partial class frm_Login : Form
  {
  public frm_Login()
  {
  InitializeComponent();
  }

  private void btn_login_Click(object sender, EventArgs e)
  {
  string user = txt_user.Text.Trim();
  string pwd = txt_pwd.Text.Trim();

  Login_Model model = new Login_Model(user, pwd);

  Login_BLL bll = new Login_BLL();
  bool values = bll.login(model);

  if (true)
  {
  MessageBox.Show("ok");
  }
  else
  {
  MessageBox.Show("sorry");
  }
  }
  }
}

bll层代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using JF_CRM_DAL;
using JF_CRM_Model;

namespace JF_CRM_BLL
{
  public class Login_BLL
  {
  public bool login(Login_Model model) 
  {
  Login_DAL dal = new Login_DAL();
  bool values = dal.login(model);
  if (values)
  {
  return true;
  }
  else
  {
  return false;
  }
  }
  }
}

dal层代码:
public class Login_DAL
  {
  private const string login_sql_select = "select admins,passwords from adminusers where admins=@user and passwords=@pwd";
  private const string sql = "select admins from adminsusers where admins=123";

  public bool login(Login_Model model)
  {
  int values = SQLHelper.ExecuteNonQuery(CommandType.Text,login_sql_select,
  new SqlParameter("@user",model.Admins),
  new SqlParameter("@pwd",model.Passwords));
  if (values == 1)
  {
  return true;
  }
  else
  {
  return false;
  }
  }
  }

SQLHelper类ExecuteNonQuery()方法代码
public static int ExecuteNonQuery(CommandType type, string text, params SqlParameter[] para) 
  {
  using (SqlConnection conn = new SqlConnection(SQLConnectionString))
  {
  SqlCommand comm = new SqlCommand();
  PrepareCommand(comm, conn, type, text, para);
  int values = comm.ExecuteNonQuery();
  comm.Parameters.Clear();
  return values;
  }
  }

------解决方案--------------------
大哥if(true)怎么输入都正确啦!

还有你dal返回的已经是bool类型了,你biz还判断什么?直接返回啦!!
------解决方案--------------------
一时半会很难看明白
------解决方案--------------------