所以下面的代码不会进入循环来填充我的列表框。我的列表框显示“全选”并测试输出“进入循环”。什么会导致尝试不失败,但循环不执行?
conn.Open();
OracleCommand executeQuery = new OracleCommand(sql, conn);
executeQuery.CommandType = CommandType.Text;
OracleDataReader dr = executeQuery.ExecuteReader();
lstInstructors.Items.Clear();
lstInstructors.Items.Add(new ListItem("Select All", "%"));
string test = "entering loop";
while (dr.Read())
{
test = "start reading items";
lstInstructors.Items.Add(new ListItem(dr.GetValue(0).ToString()));
test += dr.GetValue(0).ToString();
}
答案 0 :(得分:0)
“sql”的值设置在哪里?
完成填充列表框填充的另一种方法是填充数据表,然后将其绑定到列表框。
OracleDataAdapter da = new OracleDataAdapter();
DataTable dt = new DataTable();
var sql = "some sql string";
OracleCommand executeQuery = new OracleCommand(sql, conn);
using (da = new OracleDataAdapter(executeQuery))
{
da.Fill(dt);
}
lstInstructors.DataSource = dt;
lstInstructors.DataTextField = "Field Name from sql";
lstInstructors.DataValueField = "Field Value from sql";
lstInstructors.DataBind();
lstInstructors.Items.Insert(0, new ListItem("Choose", "Choose"));
lstInstructors.SelectedValue = "Choose";
请务必使用System.Data
我已经从SqlDataAdapter改编了这个,所以可能存在一些语法差异。