首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请教怎么判断表中数据已存在?

2012-03-29 
请问如何判断表中数据已存在??在textbox里输入姓名,如何判断表里是否已经有该记录?Ifexists( select*from

请问如何判断表中数据已存在??
在textbox里输入姓名,如何判断表里是否已经有该记录?
If   exists( "select   *   from   table1   where   name= ' "   &   textbox.Text   &   " ' ")   Then...   大概就是想实现上面这个功能,请问如何改正??

[解决办法]
' 其实如果是name不能重复的话,把name设为主健就好,
' 主健重复时会抛出错误,捕捉处理就好了
' 如果不行的话,就如下吧,会比较麻烦
' 就是先查一次,如果没有重复纪录就写入

Imports System.Data.OleDb ' 用Access数据作例子

Public Class Form1

Dim conn As OleDbConnection
Dim comm As OleDbCommand
Dim dr As OleDbDataReader

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
conn = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/数据库.mdb ")
conn.Open()
Dim strSQL As String = "SELECT * FROM 表名 WHERE 项目名= ' " & TextBox1.Text & " ' "
comm = New OleDbCommand(strSQL, conn)
dr = comm.ExecuteReader
If dr.Read Then
' 如果纪录存在时处理
Else
' 如果纪录不存在处理
End If
End Sub

End Class
[解决办法]
SQL语句这样写没问题了
"select * from table1 where name= ' " & textbox.Text & " ' "

你再对dataset做个判断就可以了

dataset.tables(0).rows.count> 0 说明是存在该数据
[解决办法]
select count(*) from table1 where name= ' " & textbox.Text & " ' "

用ADO.NET DbCommand.ExecuteScaler 获取查询结果

Dim strSql As String = "select count(*) from table1 where name= '{0} ' "
strSql = String.Format(strSql, textbox.Text)
Dim objComm As OleDbCommand = New OleDbCommand(objConn, strSql)
Dim ret As Integer = CType(objComm.ExecuteScaler(), Integer)
If ret > 0 Then
'表里已经有该记录
End

热点排行