【问题标题】:how to check the datatable row column value using ado.net如何使用 ado.net 检查数据表行列值
【发布时间】:2018-06-27 08:17:56
【问题描述】:

我想检查一个表的列值。想检查列值是否为1。在表格行列的值为1但没有进入if条件。

DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
    if (dt.Rows[0][1].ToString()=="1") // getting false
                {
                    InsertSmsDetails();

                }

数据

888a1e5 1   voltage level is critical

【问题讨论】:

  • LINQ ? bool exists = dt.Select().ToList().Exists(row => row["columnname"].ToString() == "1");
  • 所以这可能是一个愚蠢的问题,但是当您在if 行暂停执行并检查dt.Rows[0][1].ToString() 时,您会看到什么?
  • dt.Rows[0][1].ToString()==''True" @RichardHansell。现在工作Thanks.if (dt.Rows[0][1].ToString()= ="真")
  • @STACK2,这意味着该字段的数据类型在数据库中是位(布尔),因此在 C# 中将导致字符串“True”(1)或“False”(0)。

标签: c# sql-server ado.net


【解决方案1】:
var list_ids = (from DataRow dr in dt.Rows
      where (string)dr["ColumnName"] == "1"
      select (string)dr["ColumnName"]).ToList();
foreach (var item in list_ids)
{
    InsertSmsDetails(); 
}

【讨论】:

  • 在给出 SO 答案时,请同时提供描述,而不仅仅是一些代码。这样人们就可以从您的回答中学习,而不仅仅是复制/粘贴您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 2014-05-07
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
相关资源
最近更新 更多