|
我有两个records 是符合下面红色highlight了的sql statement,但after query不知为何出现的是两个同样的record,而不是两个不同的record!!
另外我该如何得到record count 呢? 在下面我用蓝色highlight了!!
以下是我的coding
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Public Function search_customer()
Dim i As Integer = "0"
Dim search_str As String
search_str = "SELECT CUSID, name FROM customer_profile WHERE type = '" + txt_keyword.Text + "'"
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\database.mdb;Persist Security Info=False;")
cn.Open()
cmd = New OleDbCommand(search_str, cn)
dr = cmd.ExecuteReader
ListView1.Items.Clear()
While dr.Read
ListView1.BeginUpdate()
For i = 0 To 1 (recordcount)
ListView1.Items.Add(dr(0))
ListView1.Items(i).SubItems.Add(dr(1))
Next
ListView1.EndUpdate()
End While
Catch
End Try
dr.Close()
cn.Close()
End Function |
|
|
|
|
|
|
|
发表于 25-10-2005 08:59 AM
|
显示全部楼层
应该需要类似的coding
dr.FetchFirst
For i = 0 To 1 (recordcount)
ListView1.Items.Add(dr(0))
ListView1.Items(i).SubItems.Add(dr(1))
dr.FetchNext
Next |
|
|
|
|
|
|
|
发表于 25-10-2005 09:31 AM
|
显示全部楼层
Dim cn As OleDbConnection
Dim cmd As OleDbCommand
Dim dr As OleDbDataReader
Public Function search_customer()
Dim i As Integer = 0
Dim search_str As String
search_str = "SELECT CUSID, name FROM customer_profile WHERE type = '" + txt_keyword.Text + "'"
Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\database.mdb;Persist Security Info=False;")
cn.Open()
cmd = New OleDbCommand(search_str, cn)
cmd.CommandType = CommandType.Text
dr = cmd.ExecuteReader
ListView1.Items.Clear()
While dr.Read()
ListView1.BeginUpdate()
'no need For i = 0 To 1 (recordcount)
ListView1.Items.Add(dr(0))
ListView1.Items(i).SubItems.Add(dr(1))
ListView1.EndUpdate()
End While
Catch
End Try
dr.Close()
cn.Close()
End Function
after query不知为何出现的是两个同样的record,而不是两个不同的record!!
你compare all field value 了啦? |
|
|
|
|
|
|
|

楼主 |
发表于 25-10-2005 07:41 PM
|
显示全部楼层
我改了以下的写法,结果只是display出一个资料,但当我 query how many rows in dataset时,答案显示是有两个的row的!但为何只出一个呢?
Dim ds As New DataSet
Dim dt As DataTable
Dim dr As DataRow
ds = log.GetCustomer(txt_keyword.Text)
ListView1.Items.Clear()
ListView1.BeginUpdate()
For Each dt In ds.Tables
For Each dr In dt.Rows
ListView1.Items.Add(dr("CUSID"))
ListView1.Items(0).SubItems.Add(dr("name"))
ListView1.Items(0).SubItems.Add(dr("address"))
Next
Next
ListView1.EndUpdate() |
|
|
|
|
|
|
| |
本周最热论坛帖子
|