将文本框值传递给函数

时间:2018-06-01 15:23:19

标签: c# sql function

我的登录应用程序出现问题。我试图根据用户名从数据库中获取用户类型。当我从文本框中传递名称时,用户类型将为null。否则,当我手动声明名称时,它将起作用,并为用户提供类型!!!

这是我的代码:

public string usertype { get { return label3.Text; } set { label3.Text = value; } }

public string username { get { return txtname.Text; } set { txtname.Text = value; } }

private void Login_Load(object sender, EventArgs e)
{
    username=txtname.Text;
    label3.Text=Users(username);
}

public string Users(string name)
{         
    using (SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=Stock;Integrated Security=True"))
    {
        string sql = "SELECT usertype FROM[dbo].[LoginTable] where UserName =@UserName";
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.Parameters.AddWithValue("@UserName", name);
        con.Open();
        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {                       
                usertype = reader["usertype"].ToString();

            }
            con.Close();
        }
    }
    return usertype;
}


//Main form to access user type for security

Login login = new Login();
string type=login.usertype; //-----usertype null

请注意,我在主窗体中从user_control访问用户类型,不知道它是否有所不同。

1 个答案:

答案 0 :(得分:0)

它的工作原理是将函数位置更改为txtname_TextChanged事件。谢谢大家