特定の列フォーム データ セットを読み取る方法について質問があります。
私はこのコードを持っています:
cmd_line.CommandText = "SELECT IDOC_NUM, SEG_NUM FROM AGR3PL_LINE WHERE IDOC_NUM = '" + Lidoc_num + "'";
OracleDataAdapter ora_adapter_li = new OracleDataAdapter(cmd_line);
DataSet ds_idoc_li = new DataSet("AGR3PL_LINE");
ora_adapter_li.Fill(ds_idoc_li, "AGR3PL_LINE");
if (ds_idoc_li.Tables[0].Rows.Count == 0)
{
SEG_NUM_L = 1;
}
else
{
int var = Convert.ToInt32(ds_idoc_li.Tables["AGR3PL_LINE"]["SEG_NUM"]);
SEG_NUM_L = var;
SEG_NUM_L++;
}
最初にSEG_NUM
変数を抽出するために選択を行い、次にデータセットに行があるかどうかを確認し、設定されていない場合はSEG_NUM = 1
抽出SEG_NUM
し、それを読み取り、1 だけインクリメントします。
この部分に問題があります:
int var = Convert.ToInt32(ds_idoc_li.Tables["AGR3PL_LINE"].Rows[0]["SEG_NUM"]);
エントリが 2 つある場合は問題なく動作しますが、エントリが 2 つを超える場合は 3 のエラーが発生します。
この部分は正しくありません
Convert.ToInt32(ds_idoc_li.Tables["AGR3PL_LINE"].Rows[0]["SEG_NUM"]);