怎么在当前Datatables里做模糊查询,找到匹配的数据
如何在当前Datatables里做模糊查询,找到匹配的数据
假设现在Datatables里存有一列数据
如: 列
1、 Java 2007新年展望:开源后将走向何方?
2、 IONA发布SOA系统中消息传递基础架构新产品
3、 古老数学原理新应用 催生新一代芯片设计理念
4、 Skype创始人:话音是主要收入 中国战略性市场
5、 专访IBM老兵:从教师到首位女性图灵奖获得者
6、 服务器成耗电大户 05年全球消耗电能1.23亿度
用Datatables.select方法可不可以实现模糊查询,当前输入数据为服务器,那么通过模糊查询实现从Datatables里找到第6条数据。
我使用这两种方法都不行呀!
方法一:datatable.select(字段 like '%值% ')
方法二:datatable.select(字段 like '*值* ')
------解决方案--------------------
可以的
在 LIKE 比较中,* 和 % 两者可以互换地作为通配符。
------解决方案--------------------
用DataView吧。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn( "StringValue ", GetType(String)))
For i As Int32 = 0 To 5
dr = dt.NewRow
Select Case i
Case 0
dr(0) = "1、 Java 2007新年展望:开源后将走向何方? "
Case 1
dr(0) = "2、 IONA发布SOA系统中消息传递基础架构新产品 "
Case 2
dr(0) = "3、 古老数学原理新应用 催生新一代芯片设计理念 "
Case 3
dr(0) = "4、 Skype创始人:话音是主要收入 中国战略性市场 "
Case 4
dr(0) = "5、 专访IBM老兵:从教师到首位女性图灵奖获得者 "
Case 5
dr(0) = "6、 服务器成耗电大户 05年全球消耗电能1.23亿度 "
End Select
dt.Rows.Add(dr)
Next
Dim dv As DataView = New DataView(dt)
dv.RowFilter = "StringValue LIKE '*服务器* ' "
Dim drv As DataRowView
For Each drv In dv
TextBox1.Text &= drv( "StringValue ").ToString
Next
End Sub
End Class
假设现在Datatables里存有一列数据
如: 列
1、 Java 2007新年展望:开源后将走向何方?
2、 IONA发布SOA系统中消息传递基础架构新产品
3、 古老数学原理新应用 催生新一代芯片设计理念
4、 Skype创始人:话音是主要收入 中国战略性市场
5、 专访IBM老兵:从教师到首位女性图灵奖获得者
6、 服务器成耗电大户 05年全球消耗电能1.23亿度
用Datatables.select方法可不可以实现模糊查询,当前输入数据为服务器,那么通过模糊查询实现从Datatables里找到第6条数据。
我使用这两种方法都不行呀!
方法一:datatable.select(字段 like '%值% ')
方法二:datatable.select(字段 like '*值* ')
------解决方案--------------------
可以的
在 LIKE 比较中,* 和 % 两者可以互换地作为通配符。
------解决方案--------------------
用DataView吧。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn( "StringValue ", GetType(String)))
For i As Int32 = 0 To 5
dr = dt.NewRow
Select Case i
Case 0
dr(0) = "1、 Java 2007新年展望:开源后将走向何方? "
Case 1
dr(0) = "2、 IONA发布SOA系统中消息传递基础架构新产品 "
Case 2
dr(0) = "3、 古老数学原理新应用 催生新一代芯片设计理念 "
Case 3
dr(0) = "4、 Skype创始人:话音是主要收入 中国战略性市场 "
Case 4
dr(0) = "5、 专访IBM老兵:从教师到首位女性图灵奖获得者 "
Case 5
dr(0) = "6、 服务器成耗电大户 05年全球消耗电能1.23亿度 "
End Select
dt.Rows.Add(dr)
Next
Dim dv As DataView = New DataView(dt)
dv.RowFilter = "StringValue LIKE '*服务器* ' "
Dim drv As DataRowView
For Each drv In dv
TextBox1.Text &= drv( "StringValue ").ToString
Next
End Sub
End Class