【发布时间】:2013-08-13 17:59:43
【问题描述】:
问题:如何将项目从数据库中插入到列表框中?
这是我尝试过的:
public void Fetch()
{
using (SqlConnection cn = new SqlConnection(UtilObj.ConnectionString()))
{
cn.Open();
ExecuteFetch(cn);
cn.Close();
}
}
public void ExecuteFetch(SqlConnection cn)
{
using (SqlCommand cm = cn.CreateCommand())
{
cm.CommandType = CommandType.StoredProcedure;
cm.CommandText = "spName";
cm.Parameters.AddWithValue("@Param1", Param1Val);
using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader()))
{
while (dr.Read())
{
myListBox.Items.Add(dr["Color"].ToString());
}
}
}
}
当我运行代码时,这会显示一个空列表,即使它填充在调试器中。
ASPX 页面
<asp:ListBox ID="myListBox" runat="server" />
【问题讨论】:
-
您将列表框声明为局部变量!你在不同的列表框中添加吗?
-
为了扩展 Sriram 的问题,您为什么要在代码中定义您的 ListBox,而不是通过 Designer 将其放置在表单上?如果您不想那样做,您仍然必须将其添加到您的表单中。
-
不,这可能是我的问题。当我删除它时,它说当前上下文中不存在名称“myListBox”。
-
你有主窗体吗?试着说
this.Controls.Add(myListBox)(假设是Winforms) -
是的,我将使用其他信息编辑我的问题。希望我只是在后面的代码中犯了一个简单的错误。
标签: c# sql database listbox listboxitem