我有一个数据表和一行.我想将行导入数据表,只要数据表中不存在该行.
我怎样才能做到这一点?
我有这样的数据表:
我想将此表分组为FIELD A和FIELD B,我的组的第三个字段应该是FIELD C的列表,但必须按ID字段进行分组.
最后,结果应该是这样的:
First Field | Second Field | Third Field
------------+--------------+----------------
5 | XXXX |(8) (2,6,3) (9)
5 | KKKK |(8,3)
Run Code Online (Sandbox Code Playgroud)
第三个字段必须是列表列表.
我怎么能用LINQ做到这一点?
到目前为止我试过这个:
var trytogroup = (from p in datatable.AsEnumerable()
group p by new
{
ID = p["Id"].ToLong(),
FieldA = p["FieldA"].ToLong(),
FieldB = p["FieldB"].ToString()
} into g
select new
{
FirstField = g.Key.FieldA,
SecondField = g.Key.FieldB,
ThirdField = datatable.AsEnumerable().Where(p => p["FieldA"].ToLong() == g.Key.FieldA && p["FieldB"].ToString() == g.Key.FieldB).Select(p => p["FieldC"].ToLong()).GroupBy(x => x["Id"].ToLong()).Distinct().ToList()
});
Run Code Online (Sandbox Code Playgroud)
我正在开发一个Windows窗体应用程序.我想通过用户选择更改SQL命令.这是我的代码:
command.CommandText = "SELECT * FROM Product WHERE price = @price";
command.Parameters.AddWithValue("@price", 35);
Run Code Online (Sandbox Code Playgroud)
我还想将"="更改为"> ="或其他内容.当我使用参数时,我会收到错误.
command.CommandText = "SELECT * FROM Urun WHERE price @equal @price";
command.Parameters.AddWithValue("@price", 35);
command.Parameters.AddWithValue("@equal", ">=");
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个这样的表:
First Field | Second Field | Third Field | Fourth Field
------------+--------------+----------------+----------------
5 | aaaa | 47 | abc
5 | aaaa | 57 | def
5 | aaaa | 63 | xyz
5 | bbbb | 39 | www
5 | bbbb | 37 | lol
5 | cccc | 84 | yuy
Run Code Online (Sandbox Code Playgroud)
我想通过第一个和第二个字段对此表进行分组,但我想只获得具有最大第三个字段的行.
我怎么能通过c#中的LINQ来做到这一点?
var curi = (from row in customClassList.AsEnumerable()
group row by new
{
First = row.FirstField.ToString(),
Second = row.SecondSield.ToString(),
} into grp
select new …
Run Code Online (Sandbox Code Playgroud)