当前位置: 代码迷 >> VB Dotnet >> 前辈们,VB.NET数据查询有关问题,小弟毕设进行中
  详细解决方案

前辈们,VB.NET数据查询有关问题,小弟毕设进行中

热度:283   发布时间:2016-04-25 01:59:30.0
前辈们,VB.NET数据查询问题,小弟毕设进行中
最近做毕设,VB.NET也是稍微选修了下,现在做病人管理系统,下面是查询记录的,我想判断TEXTBOX输入的内容在表中是否存在,存在则执行不存在提示(“请输入正确的门诊号”),小弟我就是不知道如何写判断记录语句。附上半成品程序:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim cnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\BRXXdb.mdb;Persist Security Info=False"
        cn = New OleDbConnection(cnStr)
        Dim sql As String = "select * from 门诊信息表 where 门诊号='" & TextBox1.Text & "'"
        da = New OleDbDataAdapter(sql, cn)
        ds = New DataSet
        da.Fill(ds, "门诊信息表")
        DataGridView1.DataSource = ds.Tables(0)

    End Sub
------解决思路----------------------

 ''' <summary>
    ''' 检查数据库某个数据表中某个字段值是否存在
    ''' </summary>
    ''' <param name="iTableName">数据表名称</param>
    ''' <param name="iFieldName">字段名称</param>
    ''' <param name="iValue">需要查询的字段的值</param>
    ''' <returns>若字段值存在则返回True,否则返回False</returns>
    ''' <remarks></remarks>
    Public Function CheckFieldExists(ByVal iTableName As String, ByVal iFieldName As String, ByVal iValue As String) As Boolean

        mErr = ""
        Dim mReturn As Boolean = False
        Dim StrSql As String = "select " & iFieldName & " from " & iTableName & " where " & iFieldName & " =" & "'" & iValue & "'"
        Dim mDataSet As New DataSet
        Try
            If ExecuteReader(StrSql, mDataSet) > 0 Then
                mReturn = True
            Else
                mReturn = False
            End If

        Catch ex As System.Exception
            mErr = ex.Message
            mReturn = False
        Finally
            mDataSet = Nothing
        End Try
        Return mReturn
    End Function

''' <summary>
    ''' 返回指定字段查询的结果记录集及记录条数
    ''' </summary>
    ''' <param name="mSQLstring">查询SQL语句</param>
    ''' <param name="mDataSet">返回的结果集</param>
    ''' <returns>结果集的记录条数(-1为错误代码)</returns>
    ''' <remarks></remarks>
    Public Function ExecuteReader(ByVal mSQLstring As String, ByRef mDataSet As DataSet) As Integer
        Dim mReturn As Integer = -1
        mErr = ""
        Try
            If mOleDbConnection.State <> ConnectionState.Closed Then mOleDbConnection.Close()
            mOleDbConnection.Open()
            Using mOleDbDataAdapter As New OleDb.OleDbDataAdapter
                mOleDbDataAdapter.SelectCommand = New OleDb.OleDbCommand(mSQLstring, mOleDbConnection)
                mOleDbDataAdapter.Fill(mDataSet)
                mReturn = mDataSet.Tables(0).Rows.Count
            End Using
        Catch ex As OleDbException
            mErr = "OleDbException:" & ex.Message
            mReturn = -1
        Catch ex As System.Exception
            mErr = "SystemException:" & ex.Message
            mReturn = -1
        Finally
            If mOleDbConnection.State <> ConnectionState.Closed Then mOleDbConnection.Close()
        End Try
        Return mReturn
    End Function
  相关解决方案