第一节
一、数据库基础知识
数据库的概念
数据库是按照数据结构来组织、存储和管理数据的仓库。
它可以存储大量的数据,并提供高效的数据访问和管理功能。
数据库的类型
关系型数据库:如 SQL Server、MySQL、Oracle 等,以表格形式存储数据,通过关系(如主键和外键)来关联不同的表。
非关系型数据库:如 MongoDB、Redis 等,采用不同的数据存储和访问方式,适用于特定的应用场景。
数据库管理系统(DBMS)
是用于管理数据库的软件系统,负责数据库的创建、维护、查询处理等操作。
二、VB 与数据库的连接方式
ADO(ActiveX Data Objects)
这是一种常用的数据库连接技术,通过 ADO 对象模型可以方便地与各种数据库进行交互。
DAO(Data Access Objects)
早期的 VB 数据库访问技术,适用于特定类型的数据库。
三、创建数据库连接字符串
连接 SQL Server 数据库
例如:"Data Source=服务器名称;Initial Catalog=数据库名称;User ID=用户名;Password=密码"
连接 Access 数据库
例如:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=数据库文件路径"
四、示例代码:连接 SQL Server 数据库
Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim connectionString As String = "Data Source=YourServer;Initial Catalog=YourDatabase;User ID=YourUser;Password=YourPassword"
Using connection As New SqlConnection(connectionString)
Try
connection.Open()
MessageBox.Show("数据库连接成功!")
Catch ex As Exception
MessageBox.Show("连接失败: " & ex.Message)
Finally
connection.Close()
End Try
End Using
End Sub
End Class
在上述示例中:
首先定义了连接字符串,包含服务器名称、数据库名称、用户名和密码。
使用 Using 语句创建 SqlConnection 对象,并在其中尝试打开连接。
通过捕获异常来处理可能的连接错误,并在最后关闭连接。
这就是 VB 数据库编程第一节的基本内容,为后续的深入学习打下基础。
第二节
一、数据控件介绍
数据控件用于在 VB 应用程序中连接和操作数据库。常见的数据控件包括 Data 控件、ADO Data 控件(ADODC)等。
1. Data 控件
通过设置其属性,可以将 Data 控件连接到特定的数据库和表上。例如,可以设置 DatabaseName 属性指定数据库文件的路径,设置 RecordSource 属性指定要连接的表名。
2. ADO Data 控件(ADODC)
ADODC 控件是一种基于 ADO(ActiveX Data Objects)技术的控件,它提供了更强大和灵活的数据库连接和操作功能。
ADODC 的主要属性包括:
ConnectionString:通过对话框来建立连接,返回一个字符串,用于指定连接数据库的信息,如数据源、用户名、密码等。
RecordSource:指定记录集的数据源,可以是 SQL 命令、表名或存储过程等,用于确定获取数据的方式。
BOFAction 和 EOFAction:返回或设置当记录集位于 BOF(文件开头)或 EOF(文件结尾)时的动作。
CacheSize:返回或设置在缓存中的行数。
CommandTimeout:等待命令返回的时间(单位为秒),超时将出错。
CursorLocation:光标位置,如采用服务器端光标或客户机端光标。
CursorType:光标类型,如键集光标、动态光标、静态光标等。不同的光标类型具有不同的特性,例如动态光标允许用户看到其他用户对记录的修改增删,可修改数据源;静态光标是记录集的拷贝与快照,用户看不到其他用户对记录集的修改,且只读。
MaxRecord:每次从数据库中获取的最大记录数。
UserName 和 Password:用于连接数据库的用户名和密码。
Mode:数据库打开模式,如只读、写、读写等。
ADODC 的主要事件包括:
EndOfRecordset:当记录集位于 EOF 或 BOF 时触发。
WillChangeField:当一个字段将被修改前触发。
FieldChangeComplete:当一个字段被修改后触发。
WillChangeRecord:当一个记录将被修改前触发。
RecordChangeComplete:当一个记录被修改后触发。
WillChangeRecordset:当一个记录集将被修改前触发。
RecordsetChangeComplete:当一个记录集被修改后触发。
WillMove:一个记录即将成为当前记录前触发。
MoveComplete:一个记录成为当前记录后触发。
二、绑定控件
绑定控件是窗体上的对象,通过设置其 DataSource(数据源)属性和 DataField(数据字段)属性,可使其与数据库进行绑定,从而显示或操作数据库中的数据。
例如,将文本框(TextBox)的 DataSource 属性设置为数据控件(如 ADODC),将 DataField 属性设置为数据库表中的某个字段名,文本框就可以显示该字段的数据。
要完全在代码中使用 ADO 控件和绑定控件,需要设置 ADO 控件的 ConnectionString 属性和 RecordSource 属性,以及绑定控件的 DataSource 和 DataField 属性。例如:
Private Sub Form_Load()
Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;datasource=d:/programfiles/vb98/biblio.mdb;persist security info=false"
Adodc1.RecordSource = "titles"
Set Text1.DataSource = Adodc1
Text1.DataField = "title"
End Sub
在上述代码中,设置了 ADODC 控件 Adodc1 的连接字符串和记录源,然后使用 Set 语句将文本框 Text1 的数据源设置为 Adodc1,并将其数据字段设置为 "title",这样 Text1 就可以显示 "titles" 表中 "title" 字段的数据。
三、数据验证
在对数据库进行操作时,可能需要对用户输入的数据进行验证,以确保数据的有效性和完整性。例如,在 ADO 控件的 WillChangeRecord 事件中,可以编写代码检查用户输入的数据是否符合要求,如果不符合要求,可以取消保存和更新操作。
四、SQL 语言基础(补充)
SQL(Structured Query Language)是用于管理关系型数据库的标准语言。除了创建表格外,还包括数据的查询、插入、更新和删除等操作。
例如,查询数据的基本语法为:
SELECT column1, column2,...
FROM table_name
WHERE condition;
其中,SELECT 后面指定要查询的列名,FROM 指定要查询的表名,WHERE 后面是筛选条件。
插入数据使用 INSERT INTO 语句:
<