【发布时间】:2014-12-12 23:43:53
【问题描述】:
我有一个函数可以从数据库中获取记录。
public List<Issue> Load_Issues()
{
SqlDataReader Sdr;
List<Issue> ObjList = new List<Issue>();
cmd.CommandText = "Get_All_Issue";
try
{
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
con.Open();
Sdr = cmd.ExecuteReader();
while (Sdr.Read())
{
// here I pull out records from database..
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
return ObjList;
}
我用来绑定Gridview的函数如下
public void Bind_Issues()
{
gdIssues.DataSource = Bl.Load_Issues()();
gdIssues.DataBind();
}
我的存储过程不接受任何参数。当页面第一次加载时,它工作正常并将记录绑定到 gridview。
我们也可以选择编辑记录,所以在更新记录后我需要再次将记录绑定到 gridview。所以我再次使用我的Load_Issues 函数来做到这一点。但是这次它抛出错误
Get_All_Issues 没有提供参数和参数
【问题讨论】:
-
您是否将您的
cmd实例重新用于其他查询? -
需要处理 Sdr btw
-
您的
cmd对象似乎超出了Load_Issues函数的范围 - 也许您也将它用于更新逻辑并且参数从那时起就保留在那里?
标签: c# asp.net sql-server gridview