回 帖 发 新 帖 刷新版面

主题:这段c#+sqlserver的登陆代码哪里不对?

SqlConnection conn=new SqlConnection("Server=purana;Database=test;Integrated Security=SSPI");
            SqlCommand cmd=new SqlCommand();
            cmd.CommandText="Select * From user_info where user_name=@name";
            cmd.Connection=conn;
            cmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,20));
            cmd.Parameters["@name"].Value=textBox1.Text;
            SqlDataAdapter ada=new SqlDataAdapter(cmd);
            DataSet ds=new DataSet();
            conn.Open();
            ada.Fill(ds,"user_info");
            DataTable dt=ds.Tables[0];
            if(dt.Rows.Count>0)
            {
                textBox3.Text=dt.Rows[0][0].ToString() + dt.Rows[0][1].ToString();
                if(dt.Rows[0]["user_password"].ToString().Trim()==textBox2.Text)
                    MessageBox.Show("登录成功");
                else
                    MessageBox.Show("密码错误");
            }
            else
                MessageBox.Show("没有此用户");
            conn.Close();

回复列表 (共2个回复)

沙发

你的数据库中有存储过程吗?用参数干嘛!
            cmd.CommandText="Select * From user_info where user_name=@name";
            cmd.Connection=conn;
            cmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,20));
            cmd.Parameters["@name"].Value=textBox1.Text;
            SqlDataAdapter ada=new SqlDataAdapter(cmd);
改为:
  cmd.CommandText="Select * From user_info where user_name='"textbox1.text"'";
            cmd.Connection=conn;
            SqlDataAdapter ada=new SqlDataAdapter(cmd);

可以试试!:)

板凳

判断用户密码没有必要用这么多代码.
cmd.CommandText="Select count(*) From user_info where user_name=@name";
            cmd.Connection=conn;
            cmd.Parameters.Add(new SqlParameter("@name",SqlDbType.VarChar,20));
            cmd.Parameters["@name"].Value=textBox1.Text;
int c=Convert.ToInt16(cmd.ExecuteScalar);
if(c>0)
MessageBox.Show("登陆成功");
else
MessageBox.Show("失败");

我来回复

您尚未登录,请登录后再回复。点此登录或注册