我怎么知道ms数据库中是否存在电话号码?
我正在使用此代码,但我有错误,我想我需要将所有电话号码作为数组并在数组中搜索,如果数字存在与否。
Dim number As String
con.Open()
Dim sql As String = "select cphone from cust "
Dim cmd As New OleDbCommand(sql, con)
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader
While dr.Read
number = dr(5)
End While
con.Close()
If TextBox5.Text = number Then
MsgBox("exist")
Else
MsgBox("NOT-exist")
End If
但我认为有这么简单的方法,请帮助
答案 0 :(得分:1)
试试这个:
Dim ReturnValue as object
Dim sql As String = "select 1 from cust where cphone = @cphone"
using (Con as OleDbConnection = New OleDbConnection(ConnectionString))
using (cmd As OleDbCommand = New OleDbCommand(sql, Con))
cmd.Parameters.Add(@cphone).Value = TextBox5.Text
Con.Open()
ReturnValue = cmd.ExecureScalar()
Con.Close()
If ReturnValue Is Nothing Then
MsgBox("exist")
Else
MsgBox("NOT-exist")
End If
end using
end using
说明:
TextBox5
中的文字与数据库中的任何cphone都不匹配,Nothing
将返回,这就是我使用ReturnValue
对象<的原因/ LI>
注意:直接写在这里的代码,我可能会犯一些语法错误,但这是你应该把代码带到的一般方向。
答案 1 :(得分:0)
您可以在查询
中进行检查Dim sql As String = "select cphone from cust where cphone = " + TextBox5.Text
您可以返回BIT
或TOP 1
而不是该号码
您可以使用ExecuteScalar
来提高性能。