最近做毕设,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