这里我使用我的webmethod.But当我要连接它显示此错误。但我的代码是我认为很好。ExecuteReader需要一个开放且可用的Connection。连接的当前状态正在连接。在执行读者
ExecuteReader需要一个开放且可用的Connection。连接的当前状态正在连接。
mycode的
public static List<CommonPages> GetCommonPagesDescription(int Type)
{
List<CommonPages> CommonPageDescription = new List<CommonPages>();
try
{
SqlCommand comGetAllFiles = new SqlCommand("GetCommonPageDescriptions", conDB);
comGetAllFiles.CommandType = CommandType.StoredProcedure;
if (conDB.State == ConnectionState.Closed)
conDB.Open(); // <-- Debugger Skip this & goto next line
comGetAllFiles.Parameters.Add("@Type", SqlDbType.Int);
comGetAllFiles.Parameters["@Type"].Value = Type;
SqlDataReader rdr = comGetAllFiles.ExecuteReader();//<-- error generating here
DataTable dt = new DataTable();
dt.Load(rdr);
foreach (DataRow r in dt.Rows)
{
CommonPageDescription.Add(new CommonPages
{
Id = (int)r["Id"],
Description = r["Description"].ToString(),
Type = (int)r["Type"],
UpdatedDate = (DateTime)r["UpdatedDate"],
UpdatedBy = (Guid)r["UpdatedBy"]
});
}
}
catch (Exception ee)
{
}
finally
{
conDB.Close();
}
return CommonPageDescription;
}
conDB初始化这里
static SqlConnection conDB = new SqlConnection(ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString);
显示其中conDB初始化代码... – apomene
这是很容易避免,如果你只需要创建一个新的连接对象,打开它,做你的工作,那么,连接处置。顺便说一句,空捕获很少是件好事。 – LarsTech
什么是'connDB.State'? – usr