vb.net连接access数据库问题

在添加数据前怎么判断数据库中是否已存在该数据(如:字段编号已有 100 存在,我再添加一个100 时 要提示数据已存在)

1,使用ADO connection对象 

    首先,要建立ADO引用,定义connection这个类,然后实例化对象。

代码完成如下:

        <span style="font-size:18px;">Dim objCn As New Connection, objRs As New Recordset        
     objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source=" & App.Path & "\实例01.mdb"
     objCn.Open  
</span>

 

 2,使用ODBC数据源

    首先,打开电脑上的ODBC数据源,建立关系。

步骤如下:

    1),打开电脑上的ODBC数据源

    如下图所示:

                 

2)点击添加

3)命名

4)和数据库源建立关系

5)用代码实现连接

<span style="font-size:18px;">       
    dim objCn As Connection  
  Set objCn = New Connection  
  objCn.Open "DSN=实例2DSN"  
</span>

         

3、ADO Data 控件创建连接

    1)右击data控件,选择ADODC属性

     2)从三种连接资源中选择一种。 

    使用data Link 文件:直接点击浏览,找到包含连接字符串的.udl文件即可

    使用ODBC数据源连接,单击新建

 

选择用户数据库,之后的操作跟2中步骤一样。 

    使用连接字符串:单击生成


测试连接

 

4、使用数据环境设计器创建数据库连接

    添加引用

 

右击创建连接,在右击想要连接的属性,之后的操作跟data控件中使用字符串中的操作一致

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-19
你这个问题要分三步:
第一步,先查询,用SQL的
SELECT * FROM 数据库表 WHERE 字段编号=100

第二步,判断返回的数据库的记录数
第三步,根据返回的记录数进行对应的处理

如果记录数超过0,提示数据已存在
如果等于0.执行添加任务追问

能不能给个例子参考下

追答

你的问题是:在添加数据前怎么判断数据库中是否已存在该数据(如:字段编号已有 100 存在,我再添加一个100 时 要提示数据已存在)

我已经按照你的要求解答完毕,如果觉得对你有用,请采纳。

本回答被提问者和网友采纳
第2个回答  2014-09-19
'1、 新建模块
Module Module1

Public ADOConn As New ADODB.Connection
Public Adors As New ADODB.Recordset

End Module

'2、 引用
'引用adodb 7.0.3300.0

'3、 模块函数
连接函数:
Public Function LinkDatabase(ByVal AppPath As String) As String
LinkDatabase = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AppPath & "\Database.mdb;Persist Security Info=False;Jet OLEDB:Database Password=111111"
End Function

'4、 OK_Click确定登录事件
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
'测试用户名及密码是否有效
ADOConn.ConnectionString = LinkDatabase(System.Environment.CurrentDirectory) '参数为当前目录位置
ADOConn.CommandTimeout = 10
ADOConn.CursorLocation = ADODB.CursorLocationEnum.adUseClient
ADOConn.Open()
Adors.Open("select * from Tables where 姓名='" & Trim(UsernameTextBox.Text) & "' and 密码='" & PasswordTextBox.Text & "'", ADOConn)
If Adors.RecordCount > 0 Then
ADOConn.Close()
MDIParent1.Show()
Me.Hide()
Else
ADOConn.Close()
MsgBox("错误:" & vbCrlf & vbCrlf & "无效用户名或密码,禁止用户登录.", MsgBoxStyle.Critical, "Error")
PasswordTextBox.Text = ""
PasswordTextBox.Focus()
End If
End Sub

'当然Adors.Open("……",ADOConn)表示查询,结果是不允许修改的,要修改必需加参数:Adors.Open("……", ADOConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)