VB程序学习代码记录20160828

原创 2016年08月28日 15:28:25
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Form_Load()
    cnn.Open "driver={microsoft access driver (*.mdb)};DBQ=" & App.Path & "\db_kfgl.mdb"
    rs.Open "kf", cnn, adOpenKeyset, adLockOptimistic
    rs.MoveFirst
    Do While rs.EOF = False
        Debug.Print rs.Fields("房间号")
        rs.MoveNext
    Loop
    rs.Close
End Sub
adOpenStatic 向前游标
adOpenKeyset 键集游标
adLockOptimistic设置窗口为固定的大小
adOpenKeyset 是 CursorType 属性值
adLockOptimistic 是 LockType 属性值
adOpenKeyset 键集游标。尽管从记录集不能访问其他用户删除的记录,但除无法查看其他用户添加的记录外,键集游标与动态游标相似,仍然可以看见其他用户更改的数据。 
adLockOptimistic 开放式记录锁定(逐条)。
提供者使用开放式锁定,只在调用 Update 方法时锁定记录。

ADO数据库连接中的Persist Security Info参数的作用

ADO用了这么久,每次用向导创建ADO的数据库连接字符串时总会有产生一个Persist Security Info属性,平时没太注意,因为设置为True或False时对数据库连接没有任何影响。不过心理还是不爽,今天有时间查询了一下资料,总算搞清楚了它 的作用。

Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为”ADO在数据库连接成功后是否保存密码信息”,

True表示保存,False表示不保存

ADO缺省为True

(ADO.net缺省为False,未测试,根据参考资料上说的)

具体可以通过ADO的Connect对象的ConnectString属性进行验证,如下所示(以下在Delphi7中测试通过):


数据库连接前

ConnectString=”Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false”

数据库连接成功后

ConnectString=”Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22”


数据库连接前

ConnectString=”Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true”

数据库连接成功后

ConnectString=”Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22”


总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码(windows2003在sp1前就发生过这个问题)。

VB程序学习代码记录20160827

数据库中的表是不允许直接访问的,只有通过recordset对象对其进行浏览及操作。 一个recordset对象表示一个或多个数据库表中的集合,或者运行一次查询所得的记录结果。 记录集对象有3种类型...
  • qcx1221
  • qcx1221
  • 2016年08月27日 16:39
  • 277

VB程序学习代码记录20160805

重做网格Private Sub Command1_Click() Form1.Refresh Dim w, h As Integer Dim x, y As Integer ...
  • qcx1221
  • qcx1221
  • 2016年08月05日 14:35
  • 171

VB程序学习代码记录20160803

自定义坐标系Private Sub Form_activate() Form1.Scale (-100, 100)-(100, -100) Line (-100, 0)-(300, 0...
  • qcx1221
  • qcx1221
  • 2016年08月03日 14:16
  • 131

VB程序学习代码记录20160715

选择排序法Dim a(9) As LongPrivate Sub Command1_Click() Dim i As Long, l As Long, n As Long For i ...
  • qcx1221
  • qcx1221
  • 2016年07月15日 14:18
  • 149

VB程序学习代码记录20160725

树状控件示例Private Sub Form_Load() Dim nodex As Node Dim i As Integer TreeView1.Style = tvwTr...
  • qcx1221
  • qcx1221
  • 2016年07月25日 17:09
  • 118

VB程序学习代码记录20160711

列表交换Private Sub List1_DblClick() List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End SubPr...
  • qcx1221
  • qcx1221
  • 2016年07月11日 08:21
  • 112

VB程序学习代码记录20160718

计算面积 子过程Private Sub Command1_Click() area Text1.Text, Text2.Text End SubPrivate Sub area(length,...
  • qcx1221
  • qcx1221
  • 2016年07月18日 14:31
  • 210

VB程序学习代码记录20160722

使用API函数enablewindow,禁止所有鼠标和键盘相关操作。Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As ...
  • qcx1221
  • qcx1221
  • 2016年07月22日 14:32
  • 156

VB程序学习代码记录20160802

excel导出为txtPrivate Sub Command1_Click() Dim i As Integer, r As Integer Dim newxls As Excel.a...
  • qcx1221
  • qcx1221
  • 2016年08月02日 15:41
  • 157

VB程序学习代码记录20160723

文本实例Private Sub Command1_Click() For i = 0 To 2 If Option1(i).Value = True Then ...
  • qcx1221
  • qcx1221
  • 2016年07月23日 09:58
  • 257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB程序学习代码记录20160828
举报原因:
原因补充:

(最多只允许输入30个字)