读取数据集中的特定列
本文关键字:集中 数据 数据集 读取 | 更新日期: 2023-09-27 18:36:05
我有一个问题,如何读取特定的列表单数据集....
我有这个代码:
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"]。行[0]["SEG_NUM"]);
如果我有 2 个条目,它工作正常,但如果有超过 2 个条目,我会收到 3 个错误。 条目:位置 0 处没有线,计数器始终递增 2。
这部分不对
Convert.ToInt32(ds_idoc_li.Tables["AGR3PL_LINE"].Rows[0]["SEG_NUM"]);
您可以按如下方式访问DataTable
的 Rows 集合中的列值:
Convert.ToInt32(ds_idoc_li.Tables["AGR3PL_LINE"].Rows[indexofRow][columnName or Index]);
试试这个:
if (ds_idoc_li.Tables[0].Rows.Count == 0)
{
SEG_NUM_L = 1;
}
else
{
foreach(DataRow row in ds_idoc_li.Tables["AGR3PL_LINE"].Rows)
{
int var = Convert.ToInt32(row["SEG_NUM"]);
SEG_NUM_L = var;
}
SEG_NUM_L++;
}