查找记录行 vb.net 2003

来源:互联网 发布:下载打扑克软件 编辑:程序博客网 时间:2024/05/21 06:37

Public Sub useDataAdapterWithSqlCmd1()

  Dim KHZLView As New DataView

        Try

            Dim MyCmd As SqlCommand = New SqlCommand("select *  from khda", Conn)

 

            With MyCmd

                '.Parameters.Add("@dlid", SqlDbType.Char, 10).Value = "010"

                ' .Connection = Conn

                .CommandTimeout = 5

                .CommandType = CommandType.Text

            End With

            Application.DoEvents()

            MyDA.SelectCommand = MyCmd

 

            MyDA.Fill(MyDataSet, "khda")

 

            If KHZLView.Table Is Nothing Then

                Stop

            End If

            KHZLView.Table = MyDataSet.Tables("khda")

            Dim Index As Integer

            Dim st As String

            Dim FindCondition(2) As Object  ‘查找条件要定义为Object

                      

            FindCondition(0) = "009"

            FindCondition(1) = "009"

            FindCondition(2) = "117"

****KHZLView.Table.Columns("客户代码").Unique = True

Dim FindrowAA As DataRow = KHZLView.Table.Rows.Find(FindCondition)不必排序可查找

                            ‘但FindCondition须是索引键

‘查看索引键名:

Debug.writeline(KHZLView.Table.PrimaryKey(0).ToString)

 

‘可以重定义索引键

KHZLView.Table.PrimaryKey= new datacolumn() {khzlview.Table.Columns("客户代码), _

khzlview.Table.Columns("室号")}

       redim FindCondition(1)

              FindCondition(0)=009-009-114-1

              FindCondition(1)=114

不必排序可查找,按照重新定义的索引键查找

   Dim FindrowAA As DataRow = KHZLView.Table.Rows.Find(FindCondition)

 

下面必须进行排序后查找

KHZLView.Sort = "小区号,楼号,室号"

            Index = KHZLView.Find(FindCondition)    必须进行排序后查找

Dim FindRow() As DataRowView = KHZLView.FindRows(FindRowA) 必须进行排序后查找

 

            If KHZLView.Table Is Nothing Then

                Stop

            End If

            MyGrid.DataSource = KHZLView

            RsCount = KHZLView.Count()

 

        Catch ex As Exception

            MessageBox.Show(ex.ToString, "err show ", MessageBoxButtons.AbortRetryIgnore, MessageBoxIcon.Stop)

 

        End Try

End Sub

 

 

得到绑定到DataGridDataView 当前行的 DataRow:

Private Sub MyGrid1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyGrid1.DoubleClick

        Dim MydataRow As DataRow

        MydataRow = FCZYDataView(CType(sender, DataGrid).CurrentRowIndex).Row

    Dim FCZYFormA As New 房产资源A(MydataRow)

…….

End Sub

 

        '**********************************************

        '***** 如果租售表Form在打开状态,删除相关Row  ***

        '**********************************************

        Dim FindCondition As String

 

        FindCondition = "小区号 = '" & Trim(xqid.ToString) & "' AND 楼号 = '" & Trim(dlid.ToString) & "' AND 室号 = '" & Trim(fjh.ToString) & "'"

        ' FCZSRow = FczsDataRow(0).Table.Rows.Find(FindCondition & "-0")

        Dim FCZSRow() As DataRow = FczsDataRow(0).Table.Select(FindCondition)

        If FCZSRow.Length = 1 Then

            FCZSRow(0).Delete()

        End If

查找DataView中修改的行数:

Dim Exp As String, St As String

 Dim FindrowAA As DataRow() = MyView.Table.Select(Exp, St, DataViewRowState.ModifiedCurrent)

查找DataView中增加的行数,exp st 为空:

Dim FindrowAA As DataRow() = MyView.Table.Select(Exp, St, DataViewRowState.Added)

 

‘按降序排列

FindRowAA=MyView.Table.Select(“”,seq Desc)

 

原创粉丝点击