选择数据表中不存在的数据行
本文关键字:数据 不存在 数据表 选择 | 更新日期: 2024-10-31 05:28:35
我正在尝试这样做:
DataRow DefaultTemplateRow = dt.Select("TEMPLATE_ID=1").CopyToDataTable().Rows[0];
if (DefaultTemplateRow == null)
{
dt.Rows.Add(0, 1, "Default", "", "By total", "1", "1");
}
就我而言,我不确定 dataTable 中是否存在TEMPLATE_ID=1
如果数据行不退出,它会在移动到下一条语句之前引发异常 如何避免抛出的异常? 我应该使用 try catch 吗?
dt.Select("TEMPLATE_ID=1")
已返回数据行数组。因此,您可以通过以下方式检查行数是否超过零:
DataRow[] DefaultTemplateRow = dt.Select("TEMPLATE_ID=1");
if (DefaultTemplateRow.Length > 0)
...
您可以使用 LINQ To DatTable/DataSet
DataRow DefaultTemplateRow =
dt.AsEnumerable()
.FirstOrDefault(r => r.Field<int>("TEMPLATE_ID") == 1);
如果未找到 ID,这将返回null
。
(您可以将扩展方法中的类型替换为数据库中的类型Field
。
稍后你可以有你的代码:
if (DefaultTemplateRow == null)
{
dt.Rows.Add(0, 1, "Default", "", "By total", "1", "1");
}