var sdr = db.ExecuteReader("SELECT [key],translation FROM language WHERE lang=@lang");
DataTable someTable = new DataTable();
someTable.Load(sdr);
return ((string)(someTable.Rows.Find("[key] = CUSTOMDATEFORMAT").ItemArray[1]));最后一行现在抛出错误System.Data.MissingPrimaryKeyException:“表没有主键。”
因此,我猜它找到关键字" key“,现在希望我查询主键列,而不是名为"key”的列。我要如何转义列名?
发布于 2015-05-19 15:34:35
如果要使用DataRowCollection.Find,就必须指定DataTable的(s)。
我会用Linq-To-DataTable
DataRow row = someTable.AsEnumerable()
.FirstOrDefault(row => row.Field<string>("key") == "CUSTOMDATEFORMAT");
if(row != null)
return row.Field<string>(1); // or by name but with correct type
else
return "something else";然后,您可以在查询中使用您想要的所有方法。
发布于 2015-05-19 15:33:24
发布于 2015-05-19 15:33:34
https://stackoverflow.com/questions/30329891
复制相似问题