用linq如何写?
15 个解决方案
#1
dataset1.Tables[0].AsEnumerable().GroupBy(x => x["指标简码"].ToString()).Select(x => x.First());
#2
提示x未声明
#3
不可能,除非你用的是VS2008以下,不支持Linq。
贴出完整的代码和错误来。
贴出完整的代码和错误来。
#4
Using dvw_重复行 As New DataView(m_dst_绩效指标设置.Tables("指标设置"))
m_dst_绩效指标设置.Tables(0).AsEnumerable().GroupBy(x >= x("指标简码").ToString()).Select(x >= x.First())
End Using
前面的就不用贴了吧,
用的是vs 2010,是不是要引用什么?
我的目标framework 选的是4.0,会有影响不。
#5
在x下面直接就是红色感叹,未声明。
#6
m_dst_绩效指标设置.Tables(0).AsEnumerable().GroupBy(Function(x) x("指标简码").ToString()).Select(Gunction(x) x.First())
#7
Gunction
->
Function
->
Function
#8
Dim products As DataTable = m_dst_绩效指标设置.Tables("指标设置")
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into abc()
Select abc
我想学网上这样做,
结果在q.Field(Of String)("指标简码") 下面,有蓝线,提示
只能从不带参数的简单名或限定名中推断范围变量名称
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into abc()
Select abc
我想学网上这样做,
结果在q.Field(Of String)("指标简码") 下面,有蓝线,提示
只能从不带参数的简单名或限定名中推断范围变量名称
#9
Dim products As DataTable = m_dst_绩效指标设置.Tables("指标设置")
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into x
Select x.First()
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into x
Select x.First()
#10
Linq操作符(Lambda表达式)和Linq表达式是等价的。
建议你先学会Lambda,再学Linq表达式。
建议你先学会Lambda,再学Linq表达式。
#11
这次对了,辛苦了。
#12
9楼的还是不对。呵呵。
#13
那你把Group By写成我那样
Group q By x("指标简码") Into x
Group q By x("指标简码") Into x
#14
版主大人,我要吐血了。
在版主大人的提示以为要做好了,结果发现没用,要气昏了。
现在去重复是去了,但是Update的时候他居然没有update到sql server上,我要倒了。是不是在运算的过程中,他已经把记录状态标识成不是新增行了。
说说我的问题吧,先从sql server上下载指标库,然后显示在表格上,允许用户修改、增加,他输入很多数据以后,如果列“指标简码”有重复,就只留一个,然后将数据更新回sql server
我的思路有没有错,我的这个实现方法是不是不合适?如何过滤重复行后更新回数据库??
救命啊。
Dim abc As New DataTable
abc.TableName = "指标设置"
abc = m_dst_绩效指标设置.Tables("指标设置").AsEnumerable().GroupBy(Function(x) x("指标简码").ToString()).Select(Function(x) x.First()).CopyToDataTable
m_dst_绩效指标设置.Tables("指标设置").Clear()
m_dst_绩效指标设置.Tables("指标设置").Merge(abc)
Using sqda_保存数据 As New SqlDataAdapter("select * from 绩效管理_考核指标", m_str_服务器连接字符)
Using sqlcmd1 As New SqlCommandBuilder(sqda_保存数据)
sqda_保存数据.Update(m_dst_绩效指标设置.Tables("指标设置"))
End Using
End Using
在版主大人的提示以为要做好了,结果发现没用,要气昏了。
现在去重复是去了,但是Update的时候他居然没有update到sql server上,我要倒了。是不是在运算的过程中,他已经把记录状态标识成不是新增行了。
说说我的问题吧,先从sql server上下载指标库,然后显示在表格上,允许用户修改、增加,他输入很多数据以后,如果列“指标简码”有重复,就只留一个,然后将数据更新回sql server
我的思路有没有错,我的这个实现方法是不是不合适?如何过滤重复行后更新回数据库??
救命啊。
#15
#1
dataset1.Tables[0].AsEnumerable().GroupBy(x => x["指标简码"].ToString()).Select(x => x.First());
#2
提示x未声明
#3
不可能,除非你用的是VS2008以下,不支持Linq。
贴出完整的代码和错误来。
贴出完整的代码和错误来。
#4
Using dvw_重复行 As New DataView(m_dst_绩效指标设置.Tables("指标设置"))
m_dst_绩效指标设置.Tables(0).AsEnumerable().GroupBy(x >= x("指标简码").ToString()).Select(x >= x.First())
End Using
前面的就不用贴了吧,
用的是vs 2010,是不是要引用什么?
我的目标framework 选的是4.0,会有影响不。
#5
在x下面直接就是红色感叹,未声明。
#6
m_dst_绩效指标设置.Tables(0).AsEnumerable().GroupBy(Function(x) x("指标简码").ToString()).Select(Gunction(x) x.First())
#7
Gunction
->
Function
->
Function
#8
Dim products As DataTable = m_dst_绩效指标设置.Tables("指标设置")
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into abc()
Select abc
我想学网上这样做,
结果在q.Field(Of String)("指标简码") 下面,有蓝线,提示
只能从不带参数的简单名或限定名中推断范围变量名称
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into abc()
Select abc
我想学网上这样做,
结果在q.Field(Of String)("指标简码") 下面,有蓝线,提示
只能从不带参数的简单名或限定名中推断范围变量名称
#9
Dim products As DataTable = m_dst_绩效指标设置.Tables("指标设置")
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into x
Select x.First()
Dim query = From q In products.AsEnumerable()
Group q By q.Field(Of String)("指标简码") Into x
Select x.First()
#10
Linq操作符(Lambda表达式)和Linq表达式是等价的。
建议你先学会Lambda,再学Linq表达式。
建议你先学会Lambda,再学Linq表达式。
#11
这次对了,辛苦了。
#12
9楼的还是不对。呵呵。
#13
那你把Group By写成我那样
Group q By x("指标简码") Into x
Group q By x("指标简码") Into x
#14
版主大人,我要吐血了。
在版主大人的提示以为要做好了,结果发现没用,要气昏了。
现在去重复是去了,但是Update的时候他居然没有update到sql server上,我要倒了。是不是在运算的过程中,他已经把记录状态标识成不是新增行了。
说说我的问题吧,先从sql server上下载指标库,然后显示在表格上,允许用户修改、增加,他输入很多数据以后,如果列“指标简码”有重复,就只留一个,然后将数据更新回sql server
我的思路有没有错,我的这个实现方法是不是不合适?如何过滤重复行后更新回数据库??
救命啊。
Dim abc As New DataTable
abc.TableName = "指标设置"
abc = m_dst_绩效指标设置.Tables("指标设置").AsEnumerable().GroupBy(Function(x) x("指标简码").ToString()).Select(Function(x) x.First()).CopyToDataTable
m_dst_绩效指标设置.Tables("指标设置").Clear()
m_dst_绩效指标设置.Tables("指标设置").Merge(abc)
Using sqda_保存数据 As New SqlDataAdapter("select * from 绩效管理_考核指标", m_str_服务器连接字符)
Using sqlcmd1 As New SqlCommandBuilder(sqda_保存数据)
sqda_保存数据.Update(m_dst_绩效指标设置.Tables("指标设置"))
End Using
End Using
在版主大人的提示以为要做好了,结果发现没用,要气昏了。
现在去重复是去了,但是Update的时候他居然没有update到sql server上,我要倒了。是不是在运算的过程中,他已经把记录状态标识成不是新增行了。
说说我的问题吧,先从sql server上下载指标库,然后显示在表格上,允许用户修改、增加,他输入很多数据以后,如果列“指标简码”有重复,就只留一个,然后将数据更新回sql server
我的思路有没有错,我的这个实现方法是不是不合适?如何过滤重复行后更新回数据库??
救命啊。