【发布时间】:2014-02-19 06:05:54
【问题描述】:
我注意到其他一些人也遇到了同样的问题,但无法找到解决方案。我的 ASP.NET 应用程序运行良好,突然遇到了这种情况。它不会引发任何异常,但存储过程不会像以前那样返回值。当我调试程序时发现我的SqlCommand 有问题。
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@UserID", Convert.ToInt64(Request.QueryString["UserID"]));
DataTable dtuser = db.GetDataTable(cmd, "sp_GetUserbyUserId");
我添加了一块手表并查看了cmd。 Connection 的 ServerVersion 属性显示上述消息,Message 属性显示 "Invalid operation. The connection is closed."。我认为我的 SP 无法正常工作。这里会有什么问题?
最近我在 web.config 中所做的更改只是在 <appSettings/> 下添加了新字段
编辑
下面是我上面的db实例调用的DBHandler类方法。
public class DBHandler
{
private string connectionString = "";
public DBHandler()
{
connectionString = WebConfigurationManager.ConnectionStrings["myConString"].ConnectionString.ToString();
}
public DataTable GetDataTable(SqlCommand sqlcmdWithParameters, string CommandText)
{
DataTable dtReturn = new DataTable();
SqlDataAdapter sqlda = new SqlDataAdapter(sqlcmdWithParameters);
using (SqlConnection sqlcon = new SqlConnection(connectionString))
{
sqlcmdWithParameters.Connection = sqlcon;
sqlcmdWithParameters.CommandType = CommandType.StoredProcedure;
sqlcmdWithParameters.CommandText = CommandText;
try
{
DataSet ds = new DataSet();
sqlda.Fill(ds, "Table");
dtReturn = ds.Tables["Table"];
}
catch (Exception ex)
{
//Handling Exceptions
}
}
return dtReturn;
}
}
我在Web.config中的连接字符串如下
<connectionStrings>
<add name="myConString" connectionString="Data Source=xxx.xxx.x.x;Initial Catalog=myDB;User ID=myId;Password = myPWD" providerName="System.Data.SqlClient" />
</connectionStrings>
【问题讨论】:
-
您需要发布更多代码。您如何打开/关闭连接?
-
嗨@Szymon,我在那里添加了更多代码。您能给我一个建议对您有帮助吗?
标签: asp.net sql sql-server-2008