1

したがって、次のコードはループに入らず、リスト ボックスにデータを入力しません。私のリストボックスには「すべて選択」が表示され、テスト出力は「ループに入る」と表示されます。try が失敗せず、ループも実行されない原因は何ですか?

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();
}
4

1 に答える 1

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 から適応させたので、構文が多少異なる場合があります。

于 2012-08-22T14:53:24.290 に答える