我有一个从数据库填充的名为 dt 的dataTable。 SQL命令是:
SELECT s.keyName,s.value FROM setting as s
填写dataTable后,我想从填充 dt 中选择一个值。所以我试着在这里展示一些linq:
if (dtSetting.Rows.Count > 0)
{
var r1 = (from r in dtSetting.AsEnumerable()
where r.Field<string>("keyName") == "logoName"
select r.Field<string>("value"));
MessageBox.Show(r1.ToString());
}
但是我看不到s.value的值和r1.show说
system.data.enumerableRowCollection`1 [system.String]
如何实现此代码以获取特定列的实际值?
答案 0 :(得分:4)
你的r1是IEnumerable&lt;字符串&gt;。你应该从中选择一个项目。
示例:
MessageBox.Show(r1.First());
答案 1 :(得分:3)
r1变量是IEnumarable,因此您可以通过应用索引来获取该值。您也可以使用First()
和ElementAt()
。
if (r1.Count() > 0)
MessageBox.Show(r1.ToList()[0].ToString());
//MessageBox.Show(r1.First());
//MessageBox.Show(r1.ElementAt(0));