我需要从表的一列、任何记录中检索 val(所有记录中的 val 在任何给定时间都应该是相同的;也就是说,如果它是“3”,那么它在所有记录中都是“3”他们;如果是“17”,那么所有这些都是“17”(或“42”或其他)。
所以我看到了这样的遗留代码:
DataSet ds = dbconn.getDataSet("SELECT siteNo FROM workTables");
foreach (DataRow row in ds.Tables[0].Rows)
{
siteNum = row["siteNo"].ToString();
}
...这很有效,但看起来很笨拙和浪费,因为可以循环通过大量记录,并且只使用最后一个循环的值。
所以我试图用这段代码“切入正题”:
String siteNum = ds.Tables[0].Rows.ToString();
...但有一个例外,因为 siteNum 是System.Data.DataRowCollection
然后我尝试了这个:
String siteNum = ds.Tables[0].Rows[0].ToString();
...但有一个例外,因为 siteNum 是System.Data.DataRow
所以我终于恢复到旧的 kludgy 代码,几乎是这样修改它:
DataSet ds = dbconn.getDataSet("SELECT siteNo FROM workTables");
foreach (DataRow row in ds.Tables[0].Rows)
{
siteNum = row["siteNo"].ToString();
// just need the first one
break;
}
这行得通,但我确信这不是“首选方法”。谁知道“更好”的方法?