vb如何调用数据库-wincc vb脚本如何建立和调用全局子程序
应用程序与数据库通信,首先,检索存储在那里的数据并以用户友好的方式呈现,其次,通过插入、修改和删除数据来更新数据库。
Microsoft ActiveX Data Objects.Net (ADO.Net) 是一个模型,是 .Net 框架的一部分,.Net 应用程序使用它来检索、访问和更新数据。
ADO.Net 对象模型
ADO.Net 对象模型只不过是通过各种组件的结构化流程。 对象模型可以图形化地描述为:
通过数据提供程序检索驻留在数据存储或数据库中的数据。 数据提供者的各种组件检索应用程序的数据并更新数据。
应用程序通过数据集或数据读取器访问数据。
资料提供者
数据提供者用于连接到数据库、执行命令和检索数据、将其存储在数据集中、读取检索到的数据并更新数据库。
ADO.Net 数据提供者由以下四个对象组成:
SN 对象和描述
1个
联系
该组件用于建立与数据源的连接。
2个
命令
命令是用于检索、插入、删除或修改数据源中数据的 SQL 语句或存储过程。
3个
数据阅读器
数据读取器用于以只读和只进模式从数据源检索数据。
4个
数据适配器
这是 ADO.Net 工作方式不可或缺的一部分,因为数据通过数据适配器传入和传出数据库。 它将数据从数据库检索到数据集并更新数据库。 当对数据集进行更改时,数据库中的更改实际上是由数据适配器完成的。
ADO.Net 中包含以下不同类型的数据提供程序
数据集
DataSet 是数据在内存中的表示。 它是从数据库中检索到的断开连接的缓存记录集。 当与数据库建立连接时,数据适配器会创建一个数据集并将数据存储在其中。 检索数据并将其存储在数据集中后,关闭与数据库的连接。 这称为“断开连接的架构”。 数据集用作包含表、行和列的虚拟数据库。
下图显示了数据集对象模型:
DataSet 类存在于 System.Data 命名空间中。 下表描述了 DataSet 的所有组件:
SN 组件和说明
1个
数据表集合
它包含从数据源检索的所有表。
2个
数据关系集合
它包含数据集中表之间的关系和链接。
3个
扩展属性
它包含的其他信息,如用于检索数据的SQL语句、检索时间等。
4个
数据表
它表示数据集的 DataTableCollection 中的一个表。 它由 DataRow 和 DataColumn 对象组成。 DataTable 对象区分大小写。
5个
数据关系
它表示数据集 DataRelationshipCollection 中的关系。 它用于通过 DataColumn 对象将两个 DataTable 对象相互关联。
6个
数据行集合
它包含 DataTable 中的所有行。
7
数据视图
它表示用于排序、筛选、搜索、编辑和导航的 DataTable 的固定自定义视图。
8个
首要的关键
它表示唯一标识 DataTable 中一行的列。
9
数据行
它代表 DataTable 中的一行。 DataRow 对象及其属性和方法用于检索、计算、插入、删除和更新 DataTable 中的值。 NewRow 方法用于创建新行,Add 方法向表中添加一行。
10
数据列集合
它代表 DataTable 中的所有列。
11
数据列
它由构成 DataTable 的列数组成。
连接到数据库
.Net 框架提供了两种类型的连接类:
示例 1
我们在名为 testDB 的数据库中有一个名为 Customers 的表存储在 Microsoft SQL Server 中。 有关在 SQL Server 中创建数据库和数据库表的信息vb如何调用数据库,请参阅“SQL Server”教程。
让我们连接到这个数据库。 执行以下步骤:
使用 Microsoft Visual Studio 工具栏上的“开始”按钮运行应用程序时,将显示以下窗口:
示例 2
在此示例中,让我们使用代码访问 DataGridView 控件中的数据。 执行以下步骤:
Imports System.Data.SqlClient Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) _ Handles MyBase.Load 'TODO: This line of code loads data into the 'TestDBDataSet.CUSTOMERS' table. You can move, or remove it, as needed. Me.CUSTOMERSTableAdapter.Fill(Me.TestDBDataSet.CUSTOMERS) ' Set the caption bar text of the form. Me.Text = "tutorialspoint.com" End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim connection As SqlConnection = New sqlconnection() connection.ConnectionString = "Data Source=KABIR-DESKTOP; _ Initial Catalog=testDB;Integrated Security=True" connection.Open() Dim adp As SqlDataAdapter = New SqlDataAdapter _ ("select * from Customers", connection) Dim ds As DataSet = New DataSet() adp.Fill(ds) DataGridView1.DataSource = ds.Tables(0) End Sub End Class
当使用Microsoft Visual Studio 工具栏上的“开始”按钮执行并运行上述代码时,将显示如下窗口:
单击“填充”按钮以在数据网格视图控件上显示表格:
创建表、列和行
我们已经讨论过 DataTable、DataColumn 和 DataRow 等 DataSet 组件允许我们分别创建表、列和行。
以下示例演示了此概念:
示例 3
到目前为止,我们使用的表和数据库已经存在于我们的计算机中。 在此示例中,我们将创建一个表,向其中添加列、行和数据,并使用 DataGridView 对象显示该表。
执行以下步骤:
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Set the caption bar text of the form. Me.Text = "tutorialspont.com" End Sub Private Function CreateDataSet() As DataSet 'creating a DataSet object for tables Dim dataset As DataSet = New DataSet() ' creating the student table Dim Students As DataTable = CreateStudentTable() dataset.Tables.Add(Students) Return dataset End Function Private Function CreateStudentTable() As DataTable Dim Students As DataTable Students = New DataTable("Student") ' adding columns AddNewColumn(Students, "System.Int32", "StudentID") AddNewColumn(Students, "System.String", "StudentName") AddNewColumn(Students, "System.String", "StudentCity") ' adding rows AddNewRow(Students, 1, "Zara Ali", "Kolkata") AddNewRow(Students, 2, "Shreya Sharma", "Delhi") AddNewRow(Students, 3, "Rini Mukherjee", "Hyderabad") AddNewRow(Students, 4, "Sunil Dubey", "Bikaner") AddNewRow(Students, 5, "Rajat Mishra", "Patna") Return Students End Function Private Sub AddNewColumn(ByRef table As DataTable, _ ByVal columnType As String, ByVal columnName As String) Dim column As DataColumn = _ table.Columns.Add(columnName, Type.GetType(columnType)) End Sub 'adding data into the table Private Sub AddNewRow(ByRef table As DataTable, ByRef id As Integer,_ ByRef name As String, ByRef city As String) Dim newrow As DataRow = table.NewRow() newrow("StudentID") = id newrow("StudentName") = name newrow("StudentCity") = city table.Rows.Add(newrow) End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim ds As New DataSet ds = CreateDataSet() DataGridView1.DataSource = ds.Tables("Student") End Sub End Class
使用Microsoft Visual Studio工具栏上的“开始”按钮执行并运行上述代码时vb如何调用数据库,将显示以下窗口
单击“填充”按钮以在数据网格视图控件上显示表格: