C# C登录表单错误
我一直在寻找早上最好的时间,希望找到一种方法,为我为工作而编写的程序获取一个简单的登录表单 我需要这些东西: 1:用户登录表单 2:验证表单上输入的用户名和密码 3:保护密码字符串,使其不能作为纯文本读取。 4:使其成为管理员用户可以将其他用户添加到数据库中 我甚至不能让登录表单正常工作,更不用说其他的东西了。当我点击登录按钮时,我在网上看到的所有东西都会抛出一个错误 错误代码: 发生了SqlException 在System.Data.dll中引发异常System.Data.SqlClient.SqlException 其他信息: 无效的对象名称“Login” 我已经找到了它的位置,我不明白它在做什么或引用什么,下面是btnLogin_单击的代码C# C登录表单错误,c#,login,C#,Login,我一直在寻找早上最好的时间,希望找到一种方法,为我为工作而编写的程序获取一个简单的登录表单 我需要这些东西: 1:用户登录表单 2:验证表单上输入的用户名和密码 3:保护密码字符串,使其不能作为纯文本读取。 4:使其成为管理员用户可以将其他用户添加到数据库中 我甚至不能让登录表单正常工作,更不用说其他的东西了。当我点击登录按钮时,我在网上看到的所有东西都会抛出一个错误 错误代码: 发生了SqlException 在System.Data.dll中引发异常System.Data.SqlClient
private void btnLogin_Click(object sender, EventArgs e)
{
{
string USERNAME, PASSWORD;
SqlConnection con = new SqlConnection();
con.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\turner.m\Documents\Data.mdf;Integrated Security=True;Connect Timeout=30";
con.Open();
USERNAME = txtUserName.Text;
PASSWORD = txtPassword.Text;
SqlCommand cmd = new SqlCommand("select USERNAME,PASSWORD from Login where USERNAME='" + txtUserName.Text + "'and PASSWORD='" + txtPassword.Text + "'", con);
//cmd.ExecuteNonQuery();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (txtUserName.Text == dr[0].ToString() && txtPassword.Text == dr[1].ToString())
{
txtUserName.Text = "";
txtPassword.Text = "";
this.Hide();
}
else
{
MessageBox.Show("invalid userid or password");
}
dr.Close();
con.Close();
}
}
}
然后运行查询:
select USERNAME,PASSWORD
from Login
where USERNAME= 'foo'
and PASSWORD= 'bar'
您的SQL可能不会执行,因为您的TableName无效。该数据库中是否有名为Login的表?错误消息告诉您没有名为Login的SQL表。另外,请将查询更改为使用参数,您实际上不需要SqlDataReader,当您可以使用datatable返回数据时,如果登录表中的用户和密码匹配,则无需创建While循环等。。有很多更有效的方法可以做到这一点。。另外,请阅读如何在app.config ExecuteNonQuery中存储连接字符串,即使您已将其注释掉,也是为了执行插入、更新或删除非选择语句。如果使用得当,google是一个非常好的资源。我已将登录名更改为数据库中的表。在关键字“Table”附近获取不正确的语法。