<
您还没有登录┊登录注册 当前在线:280
源码程序系统工具编程开发图形图像网络软件应用软件多媒体类娱乐休闲驱动程序各类教程各类论文文章阅读
ASPPHPJSPASP.NETVBVF百度搜索星星练题网络文摘股市消息技能习题详细分类
当前位置:首页 \ 源码程序 \ vb代码
站内搜索


VB连接ACCESS数据库可以通过控件,也可以通过引用来数据库连接

文件大小:100 k
运行平台:Windows9X/ME/NT/2000/XP
级别评定:
添加时间:2010-6-22 14:17:10
最后更新:2010-6-22 14:17:10
相关链接:无
所需金额:0 元
添加者:管理员

Download.1

/ ::软件简介:: / ::相关软件:: / ::软件点评:: /::上一个::/ ::下一个:: /
管理首页

VB连接ACCESS数据库可以通过控件,也可以通过引用来连接数据库。

如果是控件的话有Data、Adodc控件等。如果是引用的话在“工程”“引用”中Microsoft Active Data Objects 2.6 Library。

打开记录集:
语法格式:
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
参数说明:
1、Source 可选。Variant,计算有效的 Command 对象、SQL 语句、表名、存储过程调用、URL 或包含持久存储的 Recordset 的文件或 Stream 对象的名称。
2、ActiveConnection 可选。Variant 或 String,Variant 用于计算有效的 Connection 对象变量的名称;String 包含 ConnectionString 参数。
3、CursorType 可选。CursorTypeEnum 值,确定当打开 Recordset 时提供者应使用的游标类型。默认值为 adOpenForwardOnly。
4、LockType 可选。LockTypeEnum 值,确定打开 Recordset 时提供者应使用的锁定类型(并发)。默认值为 adLockReadOnly。
5、Options 可选。Long 值,指示如果 Source 参数表示的不是 Command 对象,提供者应如何计算该参数;或者指示应从先前保存 Recordset 的文件中恢复 Recordset。可以是一个或者多个 CommandTypeEnum 或 ExecuteOptionEnum 值。
其中:
1、CursorType参数的取值:
adOpenDynamic-使用动态游标。其他用户所作的添加、更改或删除均可见,而且允许 Recordset 中的所有移动类型(如果提供者不支持书签,则书签除外)。
adOpenForwardOnly-默认值。使用仅向前游标。除了在记录中只能向前滚动外,与静态游标相同。当只需要在 Recordset 中进行一个传递时,用它可提高性能。
adOpenKeyset-使用键集游标。尽管从您的 Recordset 不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,它和动态游标相似。其他用户所作的数据更改依然可见。
adOpenStatic-使用静态游标。一组记录的静态副本,可用于查找数据或生成报告。其他用户所作的添加、更改或删除不可见。
adOpenUnspecified-不指定游标类型。
2、LockType参数的取值:
adLockBatchOptimistic-指示开放式批更新。需要批更新模式。
adLockOptimistic-指示逐个记录开放式锁定。提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。
adLockPessimistic-指示逐个记录保守式锁定。提供者要确保记录编辑成功,通常在编辑之后立即在数据源锁定记录。
adLockReadOnly-指示只读记录。无法改变数据。
adLockUnspecified-未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。

vb里面的adOpenKeyset,adLockPessimistic 分别是什么意思

adLockReadOnly 常数值为1 vb缺省值:Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPrssimistic 常数值为2 :当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic 常数值为3 :当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
adLockBatchOptimistic 常数值为4 :当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、 删、改的操作。

 

现在一般都是使用引用来连接数据库。

实例1:

Private Sub Command1_Click()

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

Dim sql As String

Dim A As String

Dim B As Date

Dim C As Date

A=Trim(Text1.Text)

B=cdata(Trim(Text2.Text))

C=cdata(Trim(Text3.Text))      ''''''''转换成日期格式

cn.ConnectionString="Provider=Microsoft.Jet.OLEDB 4.0;Data Source=C:\Program Files\VB98\db8.mdb;Persist Security Info=False"

cn.Open

rs.CurorLocation=adUseClient

rs.Open "select * from 爆炸物品出库记录(有骗号)where(领取人''''''''" & A & "'''''''') and (出库时间 between # " & B & " & C & " #)",cn,3,1

Set DataGrid1.DataSource=rs

End Sub

实例2:

内容:

       做个登陆程序,用VB+ACCESS。

功能:

       1、验证。验证用户名的正确与否、密码与用户名符合与否

       2、人性化设计

       ①、输入用户名后,无论是鼠标移动到密码框,还是按"Tab"键到密码框,都搜索用户名的存在与否,但不报错

       ②、输入密码后,选者状态在“确定”按钮上。

       ③、确定后检验,用户名为空时,光标停在用户名框,密码空停密码输入框。

控件:

        TextBox、CommandButton、PictureBox、Timer、ADO

程序内容:

1、控件

2       TextBox

     2       CommandButton

     1       PictureBox

     1       Timer

程序:

''''''''form1程序

 Prinvate Sub Command1_Click()          ''''''''退出按钮

   Unload Me

End Sub

Private Sub Command2_Click()            ‘确定按钮

Dim ConStr As String

If text_user.Text="" Then

   msgbox "请输入用户名!",vbOKOnly + VBExclamation,"登陆错误"

   text_user.SetFocus

   Exit Sub  

End If

set cn =New ADODB.Connection

set rs =New ADODB.Recordset

ConStr="Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & APP.Path & "\ttj02.mdb"

cn.Open ConStr

cn.CursorLocation=adUseServer

rs.Open "Select * from dbuser",cn,adOpenKeyset,adLockPessimistic

If rs.RecordCount > 0 Then

   If text_user.Text<>"" Then

     set rs1=New ADODB.Recordset

     Dim TextUserName

     TextUserName=Left(text_user.Text,4)

     rs1.Open "Select * From dbuser where User_nb='''''''' " & TextUserName &" '''''''' ",cn,adOpenKeyset,adLockPessimistic

      If rs1.RecordCount > 0 Then

 text_user.Text=Left(text_user.Text,4) & rs1.Fields("user_zhuwu")

      Text_password.SetFocus

If Text_password <> "" Then

   If rs1.Fields("User_Nb") = TextUserName And rs1.Fields("User_password") = Text_password.Text Then
      Form3.Show 
      Unload Me
   Else
       MsgBox "密码错误!", vbExclamation + VBOKCancel, "登陆错误"
       text_user.Text = ""
       Text_password = ""
       text_user.SetFocus
     End If
Else

     MsgBox "请输入密码!", vbExclamation + VBOKCancel, "登陆错误"
End If
Else

MsgBox "沒有用戶信息,請確定!", vbExclamation + VBOKCancel, "登陆错误"
     text_user.Text = ""
    Text_password = ""
    text_user.SetFocus
    Exit Sub
    End If 
    rs.Close
    End If
   End If
End Sub

 

Private Sub Text_password_LostFocus()
   If text_user.Text = "" Then
      text_user.SetFocus
   Else
      If Text_password.Text <> "" Then
         Command2.SetFocus
      End If
   End If
End Sub
 
Private Sub Text_password_Validate(Cancel As Boolean)
   If text_user.Text = "" Then
      text_user.SetFocus
   Else
      If Text_password.Text = "" Then
         Text_password.SetFocus
      Else
         Command2.SetFocus
      End If
   End If
End Sub
Private Sub text_user_LostFocus()
   If text_user.Text <> "" Then
      Dim ConStr As String
      Set cn = New ADODB.Connection
      Set rs2 = New ADODB.Recordset
      ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
      cn.Open ConStr
      cn.CursorLocation = adUseServer
      rs2.Open "Select * From dbuser Where User_nb= ''''''''" & TextUserName & "''''''''", cn, adOpenKeyset, adLockPessimistic

If rs2.RecordCount > 0 Then
         text_user.Text = text_user & rs2.Fields("user_zhuwu")
         Text_password.SetFocus
         rs2.Close

      Else
         text_user.Text = text_user.Text
         Text_password.SetFocus
         Exit Sub
      End If
   Else
      text_user.SetFocus
   End If
End Sub


Private Sub text_user_Validate(Cancel As Boolean)
Dim ConStr As String
Set cn = New ADODB.Connection
   ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & App.Path & "\ttj02.Mdb"
   cn.Open ConStr
   cn.CursorLocation = adUseServer
   Dim TextUserName
   TextUserName = Left(text_user.Text, 4)
   If text_user.Text <> "" Then
      Set rs3 = New ADODB.Recordset
rs3.Open "Select * From dbuser Where User_nb= ''''''''" & TextUserName & "''''''''", cn, adOpenKeyset, adLockPessimistic
      If rs3.RecordCount > 0 Then
         text_user.Text = Left(text_user.Text, 4) & rs3.Fields("user_zhuwu")
         Text_password.SetFocus
         rs3.Close
      Else
         text_user.Text = Left(text_user.Text, 4)
         Text_password.SetFocus
         Exit Sub
      End If
   End If
  
End Sub

''''''''form2程序
Private Sub Form_Load()
  Me.Show
  Me.Timer1.Interval = 3000
  Me.Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()

Form1.Show
   Unload Me
End Sub

相关软件
暂无相关软件


1分 0
2分 0
3分 0
4分 0
5分 0
共有 0 人打分
平均得分:0


按字符查询:ABCDEFGHIJKLMNOPQRSTUVWXYZ0~9中文
下载图示: - 附汉化补丁 - 附注册 - 会员软件 - 推荐 - 最新添加
Rainight, 星旺坡 联网备案号:41092802000212 豫ICP备19032584号-1 页面执行时间: 0.11秒
业务QQ:80571569 手机:13030322310