从SQL Server检索用户数据

时间:2015-02-17 15:22:01

标签: c# sql sql-server

我正在试图弄清楚如何从我登录的用户那里获取用户数据。我知道如何将所有数据都提供给gridview,但不知道如何获取登录到我的程序中的用户的特定数据。

这是我登录的方式,如果可以用于任何用途

SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=(local);Initial Catalog=MyDb;Integrated Security=True";

con.Open();

string txtUs = TxtUser.Text; 
string txtPas = TxtPass.Text;

string query = "SELECT * FROM User WHERE Username=@user and Password =@pass";

SqlCommand cmd = new SqlCommand(query,con);
cmd.Parameters.Add(new SqlParameter("@user",txtUs));
cmd.Parameters.Add(new SqlParameter("@pass",txtPas));

SqlDataReader dr = cmd.ExecuteReader();

int count = 0;

while (dr.Read())
{
    count = +1;
}

if (count == 1)
{
    this.Hide();
    var main = new Main();
    main.Closed += (s, args) => this.Close();
    main.Show();
}

1 个答案:

答案 0 :(得分:0)

首先,您的count = +1应为count++。现在,每次迭代都会重置计数。此外,如果您有用户名的索引,则无需检查行数。

然后,您需要将一个对象或一组变量设置为数据库中的值,如下所示:

string username = null;
if (dr.Read())
{
    username = (string)dr["username"];
}

然后采取相应行动。您可以将这些变量存储在静态成员中,以便在执行应用程序时使其保持活动状态。