C# 从SQL Server检索用户数据
我正试图找出如何从我登录的用户那里获取我的用户数据。我知道如何将所有数据获取到gridview,但不知道如何获取登录到我的程序的用户的特定数据 这是我登录的方式,如果可以使用的话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
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窗体