最近在帮同学写数据库的课程设计,顺手整理了一些VB编程与连接数据库的笔记。
新手入门,请多包涵。

目录
ADO控件连接数据库
使按钮不可用
加载隐藏显示关闭窗体
调用其他窗体的对象
文本框输入密码变 *
退出程序
弹出消息框
判断语句
强制跳转
全局变量

一、ADO控件连接数据库

  • 加载ADO部件
    “工程”->“部件”(或者Ctrl+T),然后选择以下插件,然后“应用”+“确定”
  • 添加引用
    “工程”->“引用”,选择插件Microsoft ActiveX Data Object 2.5 Library,“应用”+“确认”
  • 生成链接命令
    部件添加成功后,左侧的控件栏就能看到这个图标
    用这个控件在界面任意一处画出一个控件实例
    右键该实例,选择Adobc属性,点击生成,选择“Microsoft OLE DB Provider for SQL Server”->“下一步”,服务器名称在刷新之后可以直接选择(我的是本地的数据库,远程的不太懂),可以直接选择连接到某个数据库(如图),测试链接通过后“确定”,最后把“连接字符串”全部拷贝出来,然后把控件删了。是的,我们仅仅是要那个字符串而已。
  • 代码链接部分
    然后,在代码连接部分可以粘贴上如下代码,注意注释
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strCon As String
Set cn = New ADODB.Connection
strCon = "。。。" '填写连接字符串,可选将 Data Source=127.0.0.1 换进去
cn.ConnectionString = strCon
cn.Open '数据库打开成功
Dim SQL As String
SQL = "。。。" '填写SQL查询命令
rs.Open SQL, cn, 1, 1

解释一下:
cn(ADODB.Connection)代表数据库对象,rs(ADODB.Recordset)代表查询结果的游标(即查询结果中的一行记录)。如果需要查询行数,游标必须是静态的,即rs.Open SQL, cn, 1, 1中的第一个1必学改为3(1是只读,2是动态,3是静态)

补充:

  • 直接执行SQL命令cn.Execute (SQL)
  • 若添加了DataGrid控件,并在窗体中画出了一个实例,则可以将Recordset对象实例(rs)中的内容直接显示在其中。
    rs.Open SQL, cn, 3, 1
    Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
  • DataGrid对象调整列宽
    For Col = 0 To DataGrid1.Columns.Count - 1
    DataGrid1.Columns(Col).Width = 2300
    Next Col
  • DataGrid对象隐藏某列(0列)
    DataGrid1.Columns(0).Visible = False

附上Recordset的基本操作表

rs.RecordCount:查询结果的行数
rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
rs(“字段名”):指定字段的数据。
rs.EOF:是否最后一条记录。
rs.MoveFirst:指向第一条记录。
rs.MoveLast:指向最后一条记录。
rs.MovePrev:指向上一条记录。
rs.MoveNext:指向下一条记录。
rs.Move n:跳转n行,n大于0向下,n小于0向上
rs.GetRows:将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties:ADO的ResultSet或Connection的值。
rs.close():关闭连接。

二、使按钮不可用
若Form中有一个按钮实例名为Button
则使其不可用(变灰)的方式为Button.Enable = False
将其回复为可用(可点击)的方式为Button.Enable = True

三、加载隐藏显示关闭窗体

操作命令备注
加载窗体Load Form1窗体会被加载,但是不会被显示
卸载窗体Unload Form1窗体会被关闭
显示窗体Form1.Show窗体会被显示出来
隐藏窗体Form1.Hide窗体会被隐藏,但是还在内存中


四、调用其他窗体的对象
若想调用其他窗体中的实例,前提条件是窗体必须已经加载,但是不必显示出来。
调用其他窗体中的实例的方式和调用本窗体中的方式类似,只需要在实例名前加上窗体名。
例如From1窗体中有一个Button,则可以有类似
Form1.Button.Enable = TrueForm1.Button.Enable = False等方式。

五、文本框输入密码变*
如图红色箭头处,可填任意字符


六、退出程序
代码中调用End,即可结束程序。

七、弹出消息框
语法MsgBox "内容",样式,"标题"

  • 普通消息框MsgBox("内容",,"标题")
  • 判断型标题栏
    Dim msg As Integer
    msg = MsgBox("内容", vbYesNo, "标题")
    If msg = vbYes Then
    '...
    End If

附消息框样式参数对应列表

按钮类型对应数值描述
vbOKOnly0只显示 OK 按钮。
VbOKCancel1显示 OK 及 Cancel 按钮。
VbAbortRetryIgnore2显示 Abort、Retry 及 Ignore 按钮。
VbYesNoCancel3显示 Yes、No 及 Cancel 按钮。
VbYesNo4显示 Yes 及 No 按钮。
VbRetryCancel5显示 Retry 及 Cancel 按钮。
VbCritical16显示 Critical Message 图标。
VbQuestion32显示 Warning Query 图标。
VbExclamation48显示 Warning Message 图标。
VbInformation64显示 Information Message 图标。


八、判断语句

If ... Then
...
Else If
...
End If

九、强制跳转
标记Ending:
跳转命令Goto Ending

十、全局变量
将代码书写区域调为通用,将声明变量的Dim换为Public键入即可
例如Public k As Integer

———————————————–
项目比较小,没有用多少高级的东西。
非专业VB编程人士,望高手谅解。

更多推荐

VB+SQL Server 2008 基础编程笔记