【发布时间】:2012-02-02 18:06:56
【问题描述】:
我尝试从数据库中查询数据,有时我的日志中出现此错误:
从 服务器。 (提供者:TCP 提供者,错误:0 - 句柄无效。) 代码位于 try-catch 块中。奇怪的是我没有 一直收到这个错误。 catch 块确实被执行了。
但是,无论我是否收到错误,我尝试填充的下拉列表都不会被填充。似乎没有从查询返回数据。
我正在建立与数据库的连接,数据在那里,我可以打开连接并对数据库运行查询。数据库与我运行代码的机器位于同一台机器上。
另外,当我连接到服务器上的数据库时,代码可以工作,但是当我没有连接到服务器时,我试图让本地数据库工作。当我想从本地数据库运行时,我只需要更改连接字符串。
这是查询数据库的函数
public static void QueryDB(string query)
{
cmd = new SqlCommand();
cmd.CommandText = query;
cmd.Connection = MyConn;
if (dr != null) dr.Dispose();
dr = cmd.ExecuteReader();
}
这是连接数据库的连接字符串:
MyConn = new SqlConnection("Data Source=tcp:localhost; Database=EscalationManagementSystem; Integrated Security=true;");
是否存在错误的设置,或者这可能是代码中的错误。
提前致谢。
【问题讨论】:
-
由于您没有向我们提供任何代码来审查,因此假设导致此问题的原因并不可靠。
-
我猜
dr是SqlDataReader的痛处?这是一个全局变量吗? -
抱歉,
dr是SqlDataReader。 -
尝试将所有更新安装到 MS Windows 和 MS SQL Server
标签: c# asp.net sql sql-server-2008