VB+SQL Server 2008 基础编程笔记

时间:2022-05-28 04:20:15

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

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

一、ADO控件连接数据库

  • 加载ADO部件
    “工程”->“部件”(或者Ctrl+T),然后选择以下插件,然后“应用”+“确定”
    VB+SQL Server 2008 基础编程笔记
  • 添加引用
    “工程”->“引用”,选择插件Microsoft ActiveX Data Object 2.5 Library,“应用”+“确认”
    VB+SQL Server 2008 基础编程笔记
  • 生成链接命令
    部件添加成功后,左侧的控件栏就能看到这个图标 VB+SQL Server 2008 基础编程笔记
    用这个控件在界面任意一处画出一个控件实例VB+SQL Server 2008 基础编程笔记
    右键该实例,选择Adobc属性,点击生成,选择“Microsoft OLE DB Provider for SQL Server”->“下一步”,服务器名称在刷新之后可以直接选择(我的是本地的数据库,远程的不太懂),可以直接选择连接到某个数据库(如图),测试链接通过后“确定”,最后把“连接字符串”全部拷贝出来,然后把控件删了。是的,我们仅仅是要那个字符串而已。
    VB+SQL Server 2008 基础编程笔记VB+SQL Server 2008 基础编程笔记VB+SQL Server 2008 基础编程笔记
  • 代码链接部分
    然后,在代码连接部分可以粘贴上如下代码,注意注释
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等方式。

五、文本框输入密码变*
如图红色箭头处,可填任意字符
VB+SQL Server 2008 基础编程笔记

六、退出程序
代码中调用End,即可结束程序。
VB+SQL Server 2008 基础编程笔记

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

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

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

按钮类型 对应数值 描述
vbOKOnly 0 只显示 OK 按钮。
VbOKCancel 1 显示 OK 及 Cancel 按钮。
VbAbortRetryIgnore 2 显示 Abort、Retry 及 Ignore 按钮。
VbYesNoCancel 3 显示 Yes、No 及 Cancel 按钮。
VbYesNo 4 显示 Yes 及 No 按钮。
VbRetryCancel 5 显示 Retry 及 Cancel 按钮。
VbCritical 16 显示 Critical Message 图标。
VbQuestion 32 显示 Warning Query 图标。
VbExclamation 48 显示 Warning Message 图标。
VbInformation 64 显示 Information Message 图标。


八、判断语句

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

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

十、全局变量
将代码书写区域调为通用,将声明变量的Dim换为Public键入即可
例如Public k As Integer
VB+SQL Server 2008 基础编程笔记

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