C# 从SQL Server检索用户数据

C# 从SQL Server检索用户数据,c#,sql,sql-server,C#,Sql,Sql Server,我正试图找出如何从我登录的用户那里获取我的用户数据。我知道如何将所有数据获取到gridview,但不知道如何获取登录到我的程序的用户的特定数据 这是我登录的方式,如果可以使用的话 SqlConnection con = new SqlConnection(); con.ConnectionString = "Data Source=(local);Initial Catalog=MyDb;Integrated Security=True"; con.Open(); string txtUs

我正试图找出如何从我登录的用户那里获取我的用户数据。我知道如何将所有数据获取到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();
}

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

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

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

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

您能否澄清您的问题?不清楚什么是错的,问题是什么。不要将密码存储为纯文本。阅读:请告诉我们这是winforms还是web forms?谢谢,我知道,但我还没有用密码修复它。我想在窗口中显示登录到我的程序的用户的所有信息,以便用户可以查看并编辑它。假设您想要的信息在您的用户表中,您可以轻松检索它,因为您为验证登录而执行的查询返回了所有字段(您确实选择了*from user)。因此,您可以从已创建的SqlDataReader中获取任何字段。我不得不说,作为登录的一种手段,这看起来非常奇怪——而且不安全,正如Soner Gönul指出的那样。是的,我知道我需要添加密码,但我对编程还不熟悉,所以我还没有深入了解。这是我正在使用的Windows窗体