【发布时间】:2011-08-26 15:29:24
【问题描述】:
我在查询中运行DbDataReader 以从下拉列表中删除已附加到特定提交的项目,并且我不断收到错误消息,告诉我阅读器已关闭。不明白为什么我的读者在这里被视为关闭。我错过了什么?
protected void Page_Load(object sender, EventArgs e)
{
string x = Request.QueryString["SubId"];
string connectionString = System.Configuration.ConfigurationManager.
ConnectionStrings["MyConnectionString"].ConnectionString;
string displayQuery = "SELECT CustName, CustAdd, CustCity, CustState, " +
"CustZip FROM Customer WHERE SubId =" + x;
string broQuery = "SELECT EntityType FROM Broker WHERE SubId =" + x;
string ddlQuery = "SELECT ProductId FROM SubmissionProducts " +
"WHERE SubmissionId =" + x;
using (SqlConnection displayConn = new SqlConnection(connectionString))
{
displayConn.Open();
SqlCommand DlistCmd = new SqlCommand(ddlQuery, displayConn);
using (SqlDataReader Ddldr = DlistCmd.ExecuteReader())
{
while (Ddldr.Read())
{
switch (Ddldr.GetInt32(0))
{
case 1:
DdlProductList.Items.RemoveAt(1);
break;
case 2:
DdlProductList.Items.RemoveAt(2);
break;
case 3:
DdlProductList.Items.RemoveAt(3);
break;
case 4:
DdlProductList.Items.RemoveAt(4);
break;
case 5:
DdlProductList.Items.RemoveAt(5);
break;
case 6:
DdlProductList.Items.RemoveAt(6);
break;
case 7:
DdlProductList.Items.RemoveAt(7);
break;
default:
break;
}
Ddldr.Close();
}
}
【问题讨论】:
-
这只是一个猜测,但你的意思是在这里执行 DDL 命令吗?
-
@Adrian:这就是
using....的用途... -
@Gabriel 我认为他在这里使用 DDL 来表示“DropdownList”,即他页面上的 ASP.NET 控件。
-
也许你可以发布更多的代码?
-
因此,如果您从头开始提供所有代码 - 您将在几分钟内得到正确答案。
标签: c# asp.net sql-server visual-studio