string a = textBox1.Text; string b = textBox2.Text; string str1 = "Data source=.;Initial Catalog=game;Integrated Security=true"; //string str1 = "Data source=.;Initial Catalog=game;User ID=sa;Password=123456"; using (SqlConnection scon = new SqlConnection(str1)) { scon.Open(); string str2 = string.Format("select count(*) from [user] where username='{0}' and password='{1}'", a, b); SqlCommand scom = new SqlCommand(str2, scon); int n = (int)scom.ExecuteScalar(); if (n >= 1) { Form1 f1= new Form1(); f1.Show(); this.Hide(); } else { MessageBox.Show("用户名或密码错误");open打不开
时间: 2024-01-18 07:02:12 浏览: 99
根据您提供的代码和问题描述,我认为您可能遇到了以下问题:
1. 数据库连接字符串不正确或无法连接到数据库。请检查 "str1" 变量中的连接字符串是否正确,并确保您的数据库服务器正在运行并且可以被访问。
2. 数据库 "game" 中的 "user" 表不存在或者没有包含指定的用户名和密码。请检查您的数据库中是否存在名为 "user" 的表,并且该表是否包含包含指定用户名和密码的行。
3. 打开窗体 "Form1" 失败。请检查名为 "Form1" 的窗体是否存在,并确保在打开窗体时没有发生任何异常或错误。
如果以上这些都没有问题,那么您可以尝试调试您的代码,以查看是哪里出现了问题。您可以使用 Visual Studio 中的调试工具来帮助您找到问题所在。
相关问题
string a = textBox1.Text; string b = textBox2.Text; string str1 = "Data source=.;Initial Catalog=game;Integrated Security=true"; //string str1 = "Data source=.;Initial Catalog=game;User ID=sa;Password=123456"; using (SqlConnection scon = new SqlConnection(str1)) { scon.Open(); string str2 = string.Format("select count(*) from [user] where username='{0}' and password='{1}'", a, b); SqlCommand scom = new SqlCommand(str2, scon); int n = (int)scom.ExecuteScalar(); if (n >= 1) { Form1 f1= new Form1(); f1.Show(); this.Hide(); } else { MessageBox.Show("用户名或密码错误");
这段代码的作用是从名为 "game" 的数据库中的 "user" 表中查找用户名和密码是否匹配。如果匹配,则打开名为 "Form1" 的窗体,否则弹出消息框显示用户名或密码错误。
具体来说,该代码将文本框 "textBox1" 中的内容作为用户名,将文本框 "textBox2" 中的内容作为密码。然后,它使用 SqlConnection 对象打开名为 "game" 的数据库的连接。接着,它使用 SqlCommand 对象执行一个查询,该查询检查 "user" 表是否存在具有指定用户名和密码的行。如果查询返回的结果大于等于 1,则表示用户名和密码匹配,此时打开名为 "Form1" 的窗体,否则弹出消息框显示用户名或密码错误。
需要注意的是,该代码使用了集成安全性的方式连接数据库,也可以使用指定用户名和密码的方式连接。如果您需要使用指定用户名和密码的方式连接数据库,请将代码中注释掉的那一行取消注释,并提供正确的用户名和密码。
阅读全文