我正在尝试创建一个登录页面。
我获取用户 ID 和密码作为参数,我想访问我的数据库并比较它们,但是当我使用 ExecuteReader
执行查询时,查询总是超时。
数据库本身非常非常小,只有大约 5 或 6 个用户,所以它不应该超时......
SqlConnection cnn = null;
string connectionString = null;
connectionString = @"Data Source=DESKTOP-A5GR284SQLEXPRESS;Initial Catalog=Chat_DB;Integrated Security=True";
cnn = new SqlConnection(connectionString);
cnn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Users", cnn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("{0}", reader.GetString(1));
}
reader.NextResult();
}
cnn.Close();
读取器将在进入"while 循环"之前超时
根据MSDN,ExecuteReader()
将
CommandText
发送到Connection
并生成SqlDataReader
。
通常,如果此处出现超时,则问题出在数据库连接上。查看您的代码,我认为connetionString
中的连接字符串是问题所在。检查它是否确实是您要查找的连接字符串。还要检查同一连接字符串中是否有不可见字符。