【发布时间】:2015-04-26 02:11:13
【问题描述】:
我在这里缺少什么,似乎主要形式没有从 tsDBCon 类调用方法并且没有连接到数据库,我需要帮助,我是新手获取:设置属性,我做错了吗? ?谢谢。
public class tsDBCon
{
private string _user;
private string _pass;
public string User
{
get
{
return _user;
}
set
{
_user = value;
}
}
public string Pass
{
get
{
return _pass;
}
set
{
_pass = value;
}
}
public void QueryUser()
{
tsDBCon get = new tsDBCon();
var connSettings = ConfigurationManager.ConnectionStrings["MyDB"];
{
string CN = connSettings.ConnectionString;
MySqlConnection conn = new MySqlConnection(CN);
MySqlCommand cmd = new MySqlCommand("select * from users where user = @user and pass = @pass", conn);
cmd.Parameters.AddWithValue("@user", get.User);
cmd.Parameters.AddWithValue("@pass", get.Pass);
MySqlDataReader reader = cmd.ExecuteReader();
conn.Open();
while (reader.Read())
{
get.User = reader["user"].ToString();
get.Pass = reader["pass"].ToString();
}
}
}
}
This is the code in Main Form
tsDBCon ts = new tsDBCon();
private void GetUser()
{
ts.User = txtUser.Text;
ts.Pass = txtPass.Text;
}
【问题讨论】:
-
你不必使用get。在您的 tsDBCon 类中,只需使用属性的名称。
-
@GrantWinney 好吧,我注意到了。 RonBeyer 先生,您是什么意思? get:set 是不必要的吗?
-
这个:get.User = reader["user"].ToString();应该是 User = reader["user"].ToString();没有必要使用get。在 User 或 Pass 之前,与您在命令参数中使用它的位置相同。
-
@RonBeyer 它有效,如果值正确先生,我如何通过我的主表单进行验证?
-
这取决于您的意思,您正在做一些奇怪的事情,传入用户名和密码,然后将其从数据库中提取出来,所以我现在不知道您要验证什么。