テーブルの 1 つの列、任意のレコードから 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
それで、私は最終的に従来のぎこちないコードに戻し、ほとんど次のように変更しました。
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;
}
これは機能しますが、「推奨される方法」ではないことは確かです。「より良い」方法を誰が知っていますか?