搜档网
当前位置:搜档网 › VBNET数据库编程基础教程

VBNET数据库编程基础教程

VBNET数据库编程基础教程
VBNET数据库编程基础教程

VBNET数据库编程基础教程

众所周知,https://www.sodocs.net/doc/4117419780.html,自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。其中,https://www.sodocs.net/doc/4117419780.html,又是.NET FrameWork SDK中重要的组成部分。要了解https://www.sodocs.net/doc/4117419780.html,的数据库编程,首先要明白https://www.sodocs.net/doc/4117419780.html,的工作原理以及相关的对象、方法、属性。本文将结合具体实例为你简单介绍https://www.sodocs.net/doc/4117419780.html,数据库访问对象以及https://www.sodocs.net/doc/4117419780.html,数据库编程基本方法。

一、https://www.sodocs.net/doc/4117419780.html,数据库访问对象

(一)https://www.sodocs.net/doc/4117419780.html,简介

https://www.sodocs.net/doc/4117419780.html,是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。是在.NET中创建分布式数据共享程序的开发接口。https://www.sodocs.net/doc/4117419780.html,的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server 7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。为此ADO.NE T中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。如Acces s数据。

(二)https://www.sodocs.net/doc/4117419780.html,的名称空间

https://www.sodocs.net/doc/4117419780.html,是围绕System.Data基本名称空间设计,其他名称空间都是从Syste m.Data派生而来。它们使得https://www.sodocs.net/doc/4117419780.html,不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。

当我们讨论https://www.sodocs.net/doc/4117419780.html,时,实际讨论的是System.Data和System.Data.OleDb 名称空间。这两个空间的所有类几乎都可以支持所有类型的数据源中的数据。这里我们讨论与后文实例有关的类。即OleDbconnection、OleDbDataAdapter、D ataSet和DataView。

上面列举的类中没有OleDb前缀的,派生自System.Data空间,有此前缀的派生自System.Data.OleDb空间。在使用中,如果要引用OleDb前缀的类,必须导入System.Data.OleDb名称空间。语法如下:

Imports System.Data.OleDb

使用没有此前缀的类必须导入System.Data名称空间。语法如下:

Imports System.Data

1.OleDbConnection类

OleDbConnection类提供了一个数据源连接。这个类的构造函数接受一个可选参数,称为连接字符串。

(1)连接字符串:

连接字符串本身由下表中列出的参数构成。(图)

我们来看一下如何在连接字符串上使用参数来初始化一个连接对象。

Dim objconnecttion as OleDbConnection=New OleDbConnection(″Provider =SQLOLE DB;″&″DataSource=localhost;Initial Catalog=pubs;″&″UserID=liugu o;Password=1234;″)

上面的连接字符串使用SQLOLEDB提供者访问SQL Server数据库。Data So urce参数指定数据库位于本地机器上,Initial Catalog参数表示我们要访问的数据库名称是“pubs”。

(2)打开和关闭数据库:

一旦用上面的方法初始化了一个连接对象,就可以调用OleDbConnection类的任何方法来操作数据。其中打开与关闭数据库方法是任何操作的基本环节。

打开数据库:objConnection.Open()

关闭数据库:objConnection.Close()

OleDbConnection类的其他方法与属性请查阅相关手册。

2.OleDbDataAdapter类

OleDbDataAdapter类可以在所有OLE DB数据源中读写数据,并且可以设置为包含要执行的SQL语句或者存储过程名。OleDbDataAdapter类并不真正存储任何数据,而是作为DataSet类和数据库之间的桥梁。

(1)SelectCommand属性:

要从数据库中读取数据,必须首先设置OleDbDataAdapter类的SelectComma nd属性。该属性用来指定选取哪些数据以及如何选取数据。

(2)Fill方法:

Fill方法用来完成向DataSet对象中填充由OleDbDataAdapter对象从数据库中检索的数据。其语法如下:

Fill(DataSet,String)

其中,DataSet参数用于指定一个有效的DataSet对象,将用数据进行填充;S tring参数指定了用于表映射的表名称。

(3)DataView类:

DataView类一般用于从DataSet类中排序、过滤、查找、编辑和导航数据。与DataSet一样其内部数据使用的是DataTable对象。DataView类是DataTabl e对象的一个自定义视图。同时DataView中的数据又独立于DataSet中DataT able包含的数据,所以可以对数据进行操作而又不会影响DataSet中的数据。其主要方法与属性如下:

Sort方法:对DataView包含的数据进行排序。语法如下:

objDataView.Sort = ″排序条件″

Find方法:在DataView搜索指定的数据行。语法如下:

rec=objDataView.Find(″指定条件″)

注意:Find方法查找不区分大小写;如果找到一个匹配数据,Find方法将返回其在DataView中记录位置,否则返回-1。

有关DataView的其他方法与属性请查阅相关手册。

(三)https://www.sodocs.net/doc/4117419780.html,的核心组件

https://www.sodocs.net/doc/4117419780.html,的核心组件主要包括:

Connections:连接管理数据库事务。

Commands:向数据库发送的操作命令。

DataReaders:直接读取流数据。

DataSets和DataSetCommands:处理内存镜像数据。

https://www.sodocs.net/doc/4117419780.html,首先用Connections对象在Web页面和数据库之间建立连接,然后通过Commands向数据库提供者发出操作命令,使操作结果以流数据的形式返回连接。再通过DataReaders快速读取流数据,保存数据到DataSets对象。最后再由DataSetCommands对象对数据进行集中访问和操作。

1.Connections对象

.NET框架中共提供了两个Connections对象:SQLConnection和ADOConnec tion。应用Connections对象时,先用Connections对象建立连接,然后调用O pen方法来打开连接。通常建立链接时,要提供一些信息,如数据库所在位置、数据库名称、用户账号、密码等相关信息,Connection对象提供了一些常用属性用来进行此类设置。

(图)

SQLConnection的具体操作方法是:

Dim myConnection as string = ″server=localhost;uid=liuguo;pwd=12345;dat abase=northwind″

Dim myConn As OleDbConnection = New OleDbConnection(myConnectio n)

ADOConnection的具体操作方法是:

Dim myConnection As string =″localhost;uid=liuguo;pwd=12345;Intial cat alog=Northwind;″

Dim myConn As OleDbConnetion = New OleDbConnection(myConnection)

MyConn.Open()

https://www.sodocs.net/doc/4117419780.html,mands对象

当链接到数据库之后,可以使用Command对象对数据库进行操作,如进行数据添加、删除、修改等操作。一个命令(Command)可以用典型的SQL语句来表达,包括执行选择查询(Select Query)来返回记录集,执行行动查询(Action Qu ery)来更新(增加、编辑或删除)数据库的记录,或者创建并修改数据库的表结构。当然命令(Command)也可以传递参数并返回值。Command可以被明确的界定,或者调用数据库中的存储过程。

Dim objCmd as New OleDbCommand(″SELECT * From users″, objConn)

以上语句建立Command,根据习惯,也可以使用以下方法:

Dim objCmd as New OleDbCommand()

objCmd.Connection = objConn

https://www.sodocs.net/doc/4117419780.html,mandText = ″SELECT * FROM users″

3.DataReaders对象

DataReaders是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。

Dim objReader as OleDbDataReader

objReader = objCmd.ExecuteReader

While objReader.Read

Response.Write(objReader.GetString(0) & ″

″=

End While

4.DataSet对象

DataSet是https://www.sodocs.net/doc/4117419780.html,的核心。DataSet是一个存在于内存中的数据库,也就是说它是离线的,并没有同数据库建立即时的连线。在https://www.sodocs.net/doc/4117419780.html,中,DataSet

是专门用来处理从数据保存体(Data Store)中读出的数据。不管底层的数据库是SQL Server还是ADO,DataSet的行为都是一致的。可以使用相同的方式来操作从不同数据来源取得的数据。

在DataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库的数据表(Table)或视图(View)。一般来说,一个对应DataTable对象的数据表就是一堆数据行(DataRow)与列(DataColumn)的集合。DataTable 会负责维护每一笔数据行保留它的初始状态(Original State)和当前的状态(Curr ent State),以解决多人同时修改数据时引发的冲突问题。

DataSet是XML与ADO结合的产物,它的一个重要的特点是与数据库或SQL 无关。它只是简单地对数据表进行操作,交换数据或是将数据绑定到用户界面上。如以下这个例子:

Dim ds1 As New DataSet()

Dim dtable As new DataTable(″people″)

With dtable.Columns

.Add(″FName″, System.Type.GetType(″System.String″))

.Add(″LName″, System.Type.GetType(″System.String″))

.Add(″UID″, System.Type.GetType(″System.Int32″))

End With

dtable.Columns(″UID″).AutoIncrement = True

ds1.Tables.Add(dtable)

dim pkey() as DataColumn = {ds1.Tables(″people″).Columns(″UID″)}

ds1.Tables(″people″).PrimaryKey = pkey

以上语句稍微有点复杂,我们来简单分析一下。

前半部分我们建立了一个DataSet和一个叫People的DataTable,然后,我们为这个DataTable加入了三个列并将“UID”列设为自动递增。最后,将这个Dat aTable加入到了DataSet。最后我们定义一个叫pkey()的主键,将其指向Peop le。

二、数据的绑定

https://www.sodocs.net/doc/4117419780.html,没有自己的类库,它依托的是.NET FrameWork SDK中的类库,虽然在.NET FrameWrok SDK中并没有提供在VB中的的DbLabel、DbComboBox 等数据库组件,但.NET FrameWork SDK中提供了一种数据绑定技术,可以把打开的数据表中的某个或者某些字段绑定到在命名空间System.Window.Forms 中定义的WinForm组件(如TextBox组件、ComboBox组件、Label组件等)中的某些属性上,从而提供这些组件显示出数据表中的记录信息,也就实现了Db TextBox、DbComboBox等组件。

(一)数据绑定和Windows窗体基础知识

数据绑定指的是一个过程,即在运行时自动为包含数据的结构中的一个或多个窗体控件设置属性的过程。具体而言,是指Windows窗体使用https://www.sodocs.net/doc/4117419780.html,进行数据绑定的过程。使用数据绑定,你无需显式编写实例化连接和创建数据集的代码(而使用非绑定窗体则必须这样做),与Windows窗体相关联的向导将为你编写必要的https://www.sodocs.net/doc/4117419780.html,代码。

Windows窗体使用户可以轻松绑定到几乎所有包含数据的结构。这表示用户可以使用https://www.sodocs.net/doc/4117419780.html,绑定到传统的数据存储区(如存储在Access或SQL Server 表中的数据),也可以绑定到从文件读取的、包含在其他控件的或存储在阵列中的数据结果。将窗体绑定到数据后,就可以将窗体上的控件绑定到特定的数据元素。最传统的数据绑定包括将文本框控件(TextBox)的Text属性绑定到数据源的列,还可以绑定Image控件的图形、控件的背景或窗体上任意控件的其他任意属性。

Windows窗体可以进行两种类型的数据绑定:简单数据绑定允许将控件绑定到单个数据元素;复杂数据绑定允许将多个数据元素绑定到一个控件。

(二)数据与控件的绑定

在https://www.sodocs.net/doc/4117419780.html,中要向控件绑定一个数据源,就必须为该控件设置DataBinding属性。该属性可以访问ControlBindingsCollection类,该类对每一个控件的绑定进行管理,并且具有很多属性和方法。

Add方法为控件创建一个绑定并将它加到ControlBindingsCollection中。Add方法有3个参数语法如下:

Object.DataBindings.Add(propertyname,datasource,datamember)

其中,Object表示窗体上的有效控件;Propertyname参数表示被绑定控件的属性;Datasource参数表示被绑定的数据源,可以是任何包含数据的有效对象如DataSet,DataView或者DataTable等;Datamember参数代表被绑定给控件的数据源中的数据字段。

1.绑定前的准备工作

(1)创建一个名为db1的Access数据库,数据表Student的结构如图所示:

并在表中增加以下几条记录。如图所示。

(2)创建和配置数据集:

创建项目,就可以创建和配置窗体所基于的数据集了。数据集是内存中包含表、关系和约束的缓存,其中的每个表均为列和行的集合。数据集能够识别其原始状态和当前状态,因此可以跟踪发生的变化。数据集中的数据被视为可更新数据。步骤如下:

新建一个名为myDataTest的https://www.sodocs.net/doc/4117419780.html,项目,将表单的Name属性改为:“frmtest”;Text属性设为“数据绑定举例”。

在表单中增加一个OleDbDataAdapter控件。这时会自动弹出“数据适配器配置向导”对话框。点击“下一步”选择“新建连接”将弹出相应的对话框,选择“Microsof t Jet 4.0 OLE DB Provider”选项,点击“Next”按钮,设定数据源。在这里设置好你的数据源后点击“OK”按钮。

在打开的对话框中选择你的数据连接,设置完毕后点击“下一步”按钮创建SQL

查询语句。在SQL生成器输入中输入以下语句,并点击“完成”。此时就完成与数据源的连接工作。

SELECT StuID, StuName, StuSex, StuBorn, StuCore FROM student

在窗体的组件栏中将显示名为OleDbConnection1的OleDbConnection对象和名为OleDbDataAdapter1的OleDbDataAdapter对象。其中,OleDbConnecti on1对象包含有关如何访问选定数据库的信息。OleDbDataAdapter1对象包含一个查询,它定义了要访问的数据库中的表和列。

(3)生成数据集类:

点击“数据→生成数据集”菜单命令,此时将出现“生成数据库”对话框。在“新建”框中myDataSet作为要创建的新数据集的名称。确保选中“将此数据集添加到设计器”选项。点击“确定”按钮。这样即可生成数据集。

完成上述步骤,在窗体的组件栏上将显示一个新的控件myDataSet1。此控件是myDataSet.xsd文件的一个引用,该文件也被添加到“解决方案资源管理器” 窗口中。

到此,准备工作结束。我们就可以将数据集绑定给控件来显示数据集中所包含的数据了。

2.绑定到DataGrid控件

(1)在窗体中增加一个DataGrid控件,调整其大小与窗体相符。并对应以下设置修改其相关属性:

DataSource属性为myDataSet1;Datamember属性为student。

完成上述步骤,即将数据集绑定到数据网格控件中了。只需再完成一个步骤,就可以看到数据网格控件中显示的数据了。

(2)虽然数据网格控件已被绑定到数据集上,但加载窗体时并不会自动填充数据集。加载窗体时,请使用窗体的Load事件过程,在数据网格控件中填充数据。代码如下:

Private Sub frmtest_Load( ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

'加载数据网格控件

MyDataSet1.Clear()

OleDbDataAdapter1.Fill(mydataset1,″student″)

End Sub

在Load事件过程中,首先需要清除数据集,然后用先前创建的OleDbDataAda pter1对象的Fill方法填充数据集。需要将表名传递给第二个参数,因为数据网

格控件将使用第二个参数检索以前在DataMember属性中指定的正确DataMem ber (student)。

(3)现在,我们可以来看看我们的成果了,试运行一下程序。

在“解决方案资源管理器”窗口中,右击项目名称,从快捷菜单中选择“属性”命令,在打开的对话框中点击“启动对象”组合框并从列表中选择“frmtest”选项。然后点击“确定”按钮。最后按下F5键即可运行此项目。

3.绑定到TextBox控件

在上面我们介绍的实例窗体frmtest上删除DataGrid控件,并清除frmtest_Loa d中的代码。按照图所示设计程序界面。

上图中各控件相关属性是:(图)

(其余的控件,我们将在下面的内容中用到。)

界面创建完成以后,我们就可以把数据集绑定到每个TextBox控件上了。步骤如下:

(1)选择要绑定的TextBox控件。按下F4键查看其“属性” 窗口。点击展开“Data Bindings”属性,在“DataBindings” 中选择Text属性。

(2)打开组合框并将各个文本框绑定到相应的字段。如需要将“TxtStuID”文本框绑定到StuID字段,请点击myDataSet1上的“+”号,再点击student上的“+”号,然后选择StuID字段。

(3)按照上述方法把其他几个文本框绑定到相应的字段上。

需要说明的是:虽然已绑定各个字段但还必须编写代码才能在首次加载窗体时用数据填充窗体。代码如下:

Private Sub frmtest_Load(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) Handles MyBase.Load

MyDataSet1.Clear()

OleDbDataAdapter1.Fill(MyDataSet1, ″student″)

End Sub

按下F5键试运行一下程序。仔细观察一下运行结果我们就会发现,程序在实现时自动用数据集中的第一条记录来填充各件控件。

(三)用代码实现数据绑定

上面我们着重探讨了控件与数集据绑定的向导模式。这种模式虽然实现方法简单,但是却不灵活,可移植性较差。为此,我们为大家介绍如何用代码来实现数据绑定。用代码实现数据绑定的优点在于灵活自由,代码移植方便。

为了便于更好的理解,我们仍然选用“TextBox”控件作为实例来介绍。

1.绑定到TextBox控件

(1)界面设计:

新建一个项目,按照图的方法设置程序界面,再增加一个Button控件,将其“Te xt“属性设为“TextBox数据绑定”。

(2)代码实现:

'指定程序中引用的名称空间:在代码窗中输入:

Imports System.Drawing

Imports System.Windows.Forms

Imports https://www.sodocs.net/doc/4117419780.html,ponentModel

Imports System

Imports System.Data.OleDb

Imports System.Data

'首先定义全局变量myDataSet及GetConnected()方法,代码如下:

Public Class Form1

Inherits Form

Private WithEvents Button1 As Button

Private TextBox1 As TextBox

……(省略部分自动生成代码)

Private myDataSet As DataSet

Private components As https://www.sodocs.net/doc/4117419780.html,ponentModel.Container

Public Sub New()

MyBase.New()

GetConnected() '这个过程是用于建立连接,打开数据库InitializeComponent()

End Sub

'清除在程序中使用过的资源

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) ……(省略部分自动生成代码)

End Sub

'

'为GetConnected()方法增加代码,用来打开数据表,返回数据集。

Public Sub GetConnected()

'创建一个OleDbConnection

Dim ConnectionString As String = ″ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:\My Documents\db1.mdb″

Dim myConn As OleDbConnection = New OleDbConnection()

myConn.ConnectionString = ConnectionString

Dim strCom As String = ″ SELECT * FROM student ″

'创建一个DataSet

myDataSet = New DataSet()

myConn.Open()

'用OleDbDataAdapter 得到一个数据集

Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter(strCo m, myConn)

'把Dataset绑定student数据表

myCommand.Fill(myDataSet, ″student″)

'关闭此OleDbConnection

myConn.Close()

End Sub

'初始化窗体中的组件

Private Sub InitializeComponent()

……(省略部分自动生成代码)

End Sub

'将各个文本框控件绑定到数据库的各个字段。

Private Sub Button1_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Button1.Click

TxtStuID.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student.St uID″))

TxtStuName.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″studen t.StuName″))

TxtStuSex.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuSex″))

TxtStuBorn.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuBorn″))

TxtStuCore.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuCore″))

End Sub

End Class

Module Module1

Sub Main()

Application.Run(New Form1())

End SubEnd Module

编译后运行程序,看看是不是与上面介绍的实例运行结果相同。

在上面的代码中,我们新建了一个GetConnected()过程,用于建立连接,打开数据库。在用代码实现数据绑定或者对数据库进行任何操作前,就必须要先建立连接,打开数据库,程序运行结束后再关闭数据连接。

在Button1_Click过程中,我们把“TextBox”控件绑定到数据集myDataSet中“st udent”的各个字段上。

程序运行后,点击“TextBox数据绑定”按纽,程序就会用myDataSet中“student”中的数据来自动填充文本框。

2.绑定到Label控件

有了上面的内容做基础,再来讨论如何把数据集绑定到Label控件上就显得很简单了。把数据绑定到Label控件的方法与绑定到TextBox控件的方法大同小异。此处不再详细讲解,只给出代码实现绑定到Label控件的核心部分代码。

Private Sub Button1_Click (ByVal sender As Object , _

ByVal e As System.EventArgs ) Handles Button1.Click

'把student表的StuName字段绑定到Label1的Text属性上。

Label1.DataBindings.Add ( New Binding ( ″Text″ , Me.myDataSet , ″stude nt.StuName″ ) )

End Sub

3.绑定到ComboBox控件

上面介绍的是对组件的简单数据绑定,对组件的复杂数据绑定和它有所区别,也有所相同,具体如下:

(1)要对ComboBox组件实现数据绑定,首先也是要打开数据表,得到数据集。这和上面TextBox组件的代码大致一样,在此略过。

(2)实现数据绑定:

设定了ComboBox组件的三个属性就可以实现数据绑定了,这三个属性是“Dat aSource”、“DisplayMember”、“ValueMember”。其中DataSource表示指定的

数据集;DisplayMember表示ComboBox组件显示的字段值;ValueMember 表示ComboBox组件选择后的值。这三个属性的具体使用方法如下:

ComboBox1.DataSource = Me.myDataSet

ComboBox1.DisplayMember = ″studnet.StuName″

ComboBox1.ValueMember = ″ studnet.StuName ″

下面我们就来看看把数据集绑定到ComboBox控件的核心代码:

Private Sub Button1_Click ( ByVal sender As Object , _

ByVal e As System.EventArgs ) Handles Button1.Click

ComboBox1.DataSource = Me.myDataSet

ComboBox1.DisplayMember = ″student.StuName″

ComboBox1.ValueMember = ″ student.StuName ″

End Sub

注意:对ComboBox控件进行数据绑定的方法同样适用于ListBox控件,因此关于LisBox控件数据绑定方法本文将不再介绍。需要者请参阅ComboBox相关内容。

三、数据库简单操作

前面介绍了https://www.sodocs.net/doc/4117419780.html,基础,以及https://www.sodocs.net/doc/4117419780.html,与Windows窗体控件的绑定方法。但是,对于数据库编程我们更想了解的还是如何增加记录,删除记录,更新记录等数据库记录的操作方法。这里我们将以一个具体的实例为大家介绍这些操作方法。

在图3中,有btnFirst(第一个记录),btnEnd(最后一条记录),btnAdd(增加记录),btnDel(删除记录),btnEdit(修改记录)控件。

用代码形式打开数据并在frmtest_load中把数据绑定给TextBox控件。此处给出源代码:

'打开数据库

Public Sub OpenData()

'创建一个OleDbConnection

Dim ConnectionS tring As String = ″ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:\My Documents\db1.mdb″

Dim myConn As OleDbConnection = New OleDbConnection()

myConn.ConnectionString = ConnectionString

Dim strCom As String = ″ SELECT * FROM student ″

'创建一个DataSet

myDataSet = New DataSet()

myConn.Open()

'用OleDbDataAdapter 得到一个数据集

Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter(strCo m, myConn)

'把Dataset绑定student数据表

myCommand.Fill(myDataSet, ″student″)

'关闭此OleDbConnection

myConn.Close()

End Sub

'绑定数据到TextBox控件

Private Sub frmtest_Load(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) Handles MyBase.Load

txtStuID.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student.Stu ID″))

txtStuName.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuName″))

txtStuSex.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student.S tuSex″))

txtStuBorn.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuBorn″))

txtStuCore.DataBindings.Add(New Binding(″Text″, Me.myDataSet, ″student. StuCore″))

End Sub

完成以上步骤后,我们就可以通过编程对数据库进行各作操作了。

1.实现对数据记录的浏览

在完成对窗体中的WinForm组件进行绑定后,实现对数据记录的浏览操作的关键就是要找到如何定位数据记录指针的方法。而要实现这种处理就需要用到. N ET FrameWork SDK中的名称空间System.Windows.Froms中的BindingMan agerBase类。

BindingManagerBase是一个抽象的类,主要用于管理同一数据表所有绑定对象。BindingManagerBase类中定义了二个属性“position”和“Count”,第一个属性是定义当前数据指针,而第二个属性主要是得到当前数据集有多少记录数目。在已经进行完数据绑定后,通过这两个属性配合使用,实现对数据记录的浏览。

(1)向上翻阅一条记录:

双击“上一条”按钮,在代码窗中输入以下代码:

Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious_.Click

Me.Bi ndingContext(myDataSet, ″student″).Position -= 1

End Sub

(2)向下翻阅一条记录:

双击“下一条”按钮在代码窗中输入以下代码:

Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) HandlesbtnNext.Click

Me.BindingContext(myDataSet, ″student″).Position += 1

End Sub

(3)翻到最后一条记录:

双击“最后一条记录”按钮,在代码窗中输入以下代码:

Private Sub btnEnd_Click(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) Handles btnEnd.Click

Me.BindingContext(myDataSet, ″student″).Position = Me.BindingContext(my DataSet, ″student″).Count - 1

End Sub

(4)翻阅到第一条记录:

双击“第一条记录”按钮,在代码窗中输入以下代码:

Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) Handles btnFirst.Click

Me.BindingContext(myDataSet, ″student″).Position = 0

End Sub

说明:为了代码书写方便,我们可以先定义一个BindingManagerBase对象my Bind,如myBind = Me.BindingContext (myDataSet, ″student″ ),于是以上各句代码均可以简写成:

向上翻阅一条记录:myBind.Position = myBind.Position - 1

向下翻阅一条记录:myBind.Position = myBind.Position + 1

翻阅到最后一条记录:myBind.Position=myBind.count - 1

翻阅到第一条记录:myBind.Position = 0

2.删除数据记录

双击“删除记录”按钮,在代码窗中输入以下代码:

Private Sub btnDel_Click(ByVal sender As System.Object, ByVal e As Sy stem.EventArgs) Handles btnDel.Click

Dim ConnectionString As String = ″ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:\My Documents\db1.mdb″

Dim myConn As OleDbConnection = New OleDbConnection()

myConn.ConnectionString = ConnectionString

myConn.Open()

Dim strDele As String = ″DELETE From student WHERE StuID = '″ + txtStuID.Text + ″ '″

Dim myCommand As OleDbCommand = New OleDbCommand(strDele, myConn)

myCommand.Execut eNonQuery() myDataSet.Tables(″student″).Rows(Me.Bi ndingContext(myDataSet, ″student″).Position).Delete()

myDataSet.Tables(″student″).AcceptChanges()

10.myConn.Close()

End Sub

前面四行代码我们已经非常熟悉,目的是建立与数据据的连接并打开数据库。第6行代码我们建立一个SQL查询,用来查询数据表中StuID字段值等于TxtStu ID.Text输入值的所有记录。并在第7行代码中将查询结果建立一个新的OleDb Command对象,用来指定要删除的记录。第8行代码是从数据库中删除指定的记录,第9行代码是从myDataSet中删除记录。前者是物理上删除记录,如果去掉第8行代码运行程序你就会发现,记录只是在当前操作中被删除了,在数据库中依然存在。

其中第6行代码中定义的SQL查询条件读者可以根据需要自行指定。需要说明的是,由于我们在创建数据表时,指定StuID字段的类型为Text类型,因此在书写SQL语名时要在“=”号前加上单引号,具体格式请参照第6行代码。如果S tuID字段类型为数字型,那么第6行正确写法应该为:

Dim strDele As String = ″DELETE From student WHERE StuID = ″ + txt StuID.Text

3.修改数据记录

修改数据的方法有很多,本文中我们将以采用SQL语言来修改数据记录为例详细介绍一下如何修改数据记录。下面我们先看看程序代码:

Dim ConnectionString As String = ″ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:\My Documents\db1.mdb″

Dim myConn As OleDbConnection = New OleDbConnection()

myConn.ConnectionString = ConnectionString

myConn.Open()

'以上代码用来连接数据源

myDataSet.Tables(″student″).Rows(Me.BindingContext(myDataSet, ″studen t″).Position).BeginEdit()

'利用SQL语句创建数据更新集合

Dim StrUpdate As String = ″Update student SET StuName='″ + t xtStuName.Text + ″',StuSex='″ + txtStuSex.Text + ″',StuBorn='″ + txtStuBo rn.Text + ″',StuCore='″ + txtStuCore.Text + ″' WHERE StuID='″ + txtStuID. Text + ″'″

'利用SQL结果创建新的OleDbCommand对象

Dim myCommand As OleDbCommand = New OleDbCommand(StrUpdate, myConn)

myCommand.ExecuteNonQuery()

myDataSet.Tables(″student″).Rows(Me.BindingContext(myDataSet, ″studen t″).Position).EndEdit()

myDataSet.Tables(″student″).AcceptChanges()

myConn.Close()

MsgBox(″数据修改完成!″)

上述代码中我们采用SQL语言中的Update语名来更新记录,对各个TextBox 中的值修改后更新到数据库。其中重要语句就是SQL语句的编写。如果你有不明白的地方,请参阅SQL相关资料。代码中我们同时还利用了BeginEdit()与E ndEdit()方法,任何从数据的修改都必须在这两个方法之间进行。前者是数据修改的入口,后者则是完成将数据写入数据库的工作。

4.增加数据记录

增加数据记录与修改数据在实现方法上有很多相同之处。在下面的实例中我们利用SQL的Insert语句在指定位置插入一条记录,把更新到数据库。如果你想在数据表最后增加一条记录,只需要将数据记录指针指向数据表末尾就行了。

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As S ystem.EventArgs) Handles btnAdd.Click

Dim ConnectionString As String = ″ Provider = Microsoft.Jet.OLEDB.4.0; Data Source = e:\My Documents\db1.mdb″

Dim myConn As OleDbConnection = New OleDbConnection()

myConn.ConnectionString = ConnectionString

myConn.Open()

Dim StrAdd As String = ″insert into student (Stuid,StuName,StuSex,StuBo rn,StuCore) values('″ + txtStuID.Text + ″','″ + txtStuName.Text + ″','″ + txt StuSex.Text + ″','″ + txtStuBorn.Text + ″','″ + txtStuCore.Text + ″')″

Debug.Write(StrAdd)

Dim myCommand As OleDbCommand = New OleDbCommand(StrAdd, m yConn)

myCommand.ExecuteNonQuery()

myConn.Close()

myDataSet.Tables(″student″).Rows(Me.BindingContext(myDataSet, ″studen t″).Position).BeginEdit()

myDataSet.Tables(″student″).Rows(Me.BindingContext(myDataSet, ″studen t″).Position).EndEdit()

myDataSet.Tables(″student″).AcceptChanges()

MsgBox(″数据增加完成!″)

End Sub

有了前面几种基本操作方法的代码分析后,这段代码相信不难理解。大家需要关注的还是SQL语句是如何实现数据记录增加的。这种方法具有一定的通行性。

完成上述设计后我们来看看整个程序的运行结果。按下F5键运行程序即可。

本文中所有代码均在Windows XP+https://www.sodocs.net/doc/4117419780.html,环境下调试通过。

VB SQL编程基础教程

https://www.sodocs.net/doc/4117419780.html,数据库编程基础教程 罗珊 众所周知,https://www.sodocs.net/doc/4117419780.html,自身并不具备对数据库进行操作的功能,它对数据库 的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。其中,https://www.sodocs.net/doc/4117419780.html,又是.NET FrameWork SDK中重要的 组成部分。要了解https://www.sodocs.net/doc/4117419780.html,的数据库编程,首先要明白https://www.sodocs.net/doc/4117419780.html,的工作原理以及相关的对象、方法、属性。本文将结合具体实例为你简单介绍https://www.sodocs.net/doc/4117419780.html,数据库访问对象以及https://www.sodocs.net/doc/4117419780.html,数据库编程基本方法。 一、https://www.sodocs.net/doc/4117419780.html,数据库访问对象 (一)https://www.sodocs.net/doc/4117419780.html,简介 https://www.sodocs.net/doc/4117419780.html,是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。是在.NET中创建分布式数据共享程序的开发接口。https://www.sodocs.net/doc/4117419780.html,的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。为此https://www.sodocs.net/doc/4117419780.html,中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。如Access数据。 (二)https://www.sodocs.net/doc/4117419780.html,的名称空间

https://www.sodocs.net/doc/4117419780.html,是围绕System.Data基本名称空间设计,其他名称空间都是从System.Data派生而来。它们使得https://www.sodocs.net/doc/4117419780.html,不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。 当我们讨论https://www.sodocs.net/doc/4117419780.html,时,实际讨论的是System.Data和System.Data.OleDb 名称空间。这两个空间的所有类几乎都可以支持所有类型的数据源中的数据。这里我们讨论与后文实例有关的类。即OleDbconnection、OleDbDataAdapter、DataSet和DataView。 上面列举的类中没有OleDb前缀的,派生自System.Data空间,有此前缀的派生自System.Data.OleDb空间。在使用中,如果要引用OleDb前缀的类,必须导入System.Data.OleDb名称空间。语法如下: Imports System.Data.OleDb 使用没有此前缀的类必须导入System.Data名称空间。语法如下:Imports System.Data 1.OleDbConnection类 OleDbConnection类提供了一个数据源连接。这个类的构造函数接受一个可选参数,称为连接字符串。 (1)连接字符串: 连接字符串本身由下表中列出的参数构成。(图) 我们来看一下如何在连接字符串上使用参数来初始化一个连接对象。

C#.net操作数据库通用类

C#.NET操作数据库通用类(MS SQL Server篇) 下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句、执行存储过程。以下是其详细实现过程,希望大家共同修改优化之。稍后将介绍如何使用它实现N层的程序设计。 配置web.config文件的链接参数 C#代码 using System; using System.Data; using System.Data.SqlClient; namespace Com.LXJ.Database { ///

/// ConnDB的摘要说明。 /// public class ConnDB { protected SqlConnection Connection; private string connectionString; /// /// 默认构造函数 /// public ConnDB() { string connStr; connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"].ToString(); connectionString = connStr; Connection = new SqlConnection(connectionString); } /// /// 带参数的构造函数 /// /// 数据库联接字符串 public ConnDB(string newConnectionString)

vb连接ACCESS数据库实例

vb连接ACCESS数据库实例 下面给你一个用ADO的代码链接的实例:(ACCESS 2003) 首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象: Dim conn As New ADODB.Connection, rs As New ADODB.Recordset 其中conn是数据库链接对象,rs是数据记录集对象 那么,下面就是利用SQL语句链接数据库了: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password=" strSQL = "SELECT * FROM 数据库中的表" rs.Open strSQL, conn, 3, 3 至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象: rs.Close conn.Close '首先,工具->引用->选中Microsoft ActiveX Data Objects 2.X Library '必须选中,否则下面代码不会起作用!(以下链接数据库之方式,不需要使用ADODB控件,仅需代码即可) Public Conn As New ADODB.Connection Public Rs As New ADODB.Recordset Public Cnt As Integer '这个Cnt是用来表示数据库数据总量的,对链接过程无关 '连接数据库的代码段 Conn.CursorLocation = adUseClient '以Conn为链接名建立链接,这里是设置数据游标(客户端数据游标),即设定读取数据库数据之方式(一行一行地读) Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\test.mdb" '自己改动一下上面的路径和文件名即可,其他的代码你不理解照粘贴无妨 If Rs.State <> adStateClosed Then Rs.Close Rs.Open "SELECT 铺名, 上月读数, 本月读数, 实用度数, 铺位数, 首层面积, 非经营层 面积, 欠费明细, 欠费金额FROM data WHERE 首层面积is not null and 非经营层面积 is not null;", Conn, adOpenKeyset, adLockPessimistic Cnt = Rs.RecordCount '关闭数据库链接(一般放到子过程结束处,关闭数据库链接) Rs.Close Conn.Close Set Rs = Nothing

https://www.sodocs.net/doc/4117419780.html,数据库编程

https://www.sodocs.net/doc/4117419780.html,数据库编程 1、https://www.sodocs.net/doc/4117419780.html,的相关概念。 Microsoft的新一代技术,是ADO组件的后继者。 主要目的是在.NET Framework平台存取数据。 提供一致的对象模型,可以存取和编辑各种数据源的数据,即对这些数据源,提供了一致的数据处理方式。 https://www.sodocs.net/doc/4117419780.html,保存和传递数据是使用XML格式。可实现与其他平台应用程序以XML文件进行数据交换。 2、数据访问类库的名称空间 针对不同的数据源,使用不同名称空间的数据访问类库,即数据提供程序。常用的数据源包括四种: Microsoft SQL Server数据源:使用System.Data.SqlClient名称空间。 OLEDB数据源:使用System.Data.OleDb名称空间。 ODBC数据源:使用System.Data.Odbc名称空间。 Oracle数据源:使用System.Data.OracleClient名称空间 要使用https://www.sodocs.net/doc/4117419780.html, 来访问数据库,需要将相应的名称空间导入到应用程序中,如下:System.Data是通用的名称空间,其中包含组成ADO.NET核心体系结构的所有类。 System.Data.Oledb 名称空间供https://www.sodocs.net/doc/4117419780.html, 管理提供程序访问支持OleDb的数据源时使用。 System.Data.SQLClient 名称空间供 SQL Server管理提供程序使用。该名称空间是专为 Microsoft SQL Server 而设计的,对于以前版本的 SQL Server,可以提高其性能。 如:using System.Data; using System.Data. SqlClient; System.Data.OleDb和System.Data.SqlClient名称空间的类名称相同,只是字头不同。 之所以分成两组类,主要目的是提供一组最佳化SQL Server数据库存取的类。 OleDb字头的类是使用OLEDB提供者数据源的数据库。例如Access和Oracle等数据库。 Sql字头的类只能使用在SQL Server7.0以上版本,直接和服务器端的SQL Server通信,因为不通过OLE DB和ODBC,所以可以明显提升整体的执行效率。 3、https://www.sodocs.net/doc/4117419780.html,的组成 https://www.sodocs.net/doc/4117419780.html,用于访问和处理数据的类库包含以下两个组件: .NET Framework 数据提供程序

VB使用ADODB操作数据库

VB使用ADODB操作数据库 Dim conn As New ADODB.Connection ’创建一个 Connection 实例,在这里使用New等于将Dim和Set合并为一段代码执行 Dim rs As ADODB.Recordset ’创建一个 Recordset 实例,不使用New 是因为,经常需要重复使用Set,因此没必要在这里使用 Dim CnStr As String, Sql As String ’创建两个字符串变量分别存放两个集合的SQL语句代码段 1、装载数据库(不属于Recordset集合) ============= Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$ ’以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码 FileName = App.Path & "\’数据库名’" DbIp = "数据库地址" DbName = "数据库名" DbUser = "数据操作员用户名" DbPw = "操作员密码" ’以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量 ’1)连接Access数据库: ’------------------- CnStr = "PROVIDER=microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileNa me & ";Jet OLEDB:Database Password=" & DbPw ’2)连接Oracle数据库: ’------------------- CnStr = "PROVIDER=MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data S ource=" & FileName & ";Persist Security Info=True" ’其中: ’PASSWORD:密码 ’User ID: 用户号 ’Data Source: 数据库名 ’Persist Security Info: ’Provider: ’3)连接VF的DBF库: ’---------------- CnStr = "PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPr

VB[1].NET连接数据库的几种方法

Microsoft Visual https://www.sodocs.net/doc/4117419780.html,是Microsoft Visual Basic的更新版本,它基于.NET的框架结构,能使用户非常容易地创建Microsoft Windows操作系统和网络的应用程序。使用Visual https://www.sodocs.net/doc/4117419780.html,,可以快速地实现可视化开发网络应用程序、网络服务、Windows 应用程序和服务器端组件。另外,Visual https://www.sodocs.net/doc/4117419780.html,为Windows应用程序提供了XCOPY部署,开发人员不再需要为DLL的版本问题担忧。Visual Basic现在已经真正成为面向对象以及支持继承性的语言。窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化以及可达性支持。数据类工具内在支持XML数据,在设计时数据绑定使用断开的数据。另外,Visual https://www.sodocs.net/doc/4117419780.html,直接建立在.NET的框架结构上,因此开发人员可以充分利用所有平台特性,也可以与其他的.NET语言交互。 在这篇文章中我要跟大家讲的,是介绍Visual https://www.sodocs.net/doc/4117419780.html,的数据库编程及其相关知识。 一、先介绍https://www.sodocs.net/doc/4117419780.html,和https://www.sodocs.net/doc/4117419780.html, ADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据访问功能,是Visual https://www.sodocs.net/doc/4117419780.html,进行数据库编程所使用的重要工具。https://www.sodocs.net/doc/4117419780.html, 使用了某些ADO 的对象,如Connection 和Command 对象,并且还引入了新的对象。主要的新https://www.sodocs.net/doc/4117419780.html, 对象包括DataSet、DataReader 和DataAdapter。 https://www.sodocs.net/doc/4117419780.html,是.NET框架中另外一个很有用的用于数据库开发的类库。但是,在.NET FrameWork SDK1.0版中不包含https://www.sodocs.net/doc/4117419780.html,,要使用https://www.sodocs.net/doc/4117419780.html,请到微软网站下载,具体下载地址: https://www.sodocs.net/doc/4117419780.html,/library/default.asp?url=/downloads/list /netdevframework.asp(文件名是odbc_net.msi)在默认情况下,安装路径是 “C:\Program File\https://www.sodocs.net/doc/4117419780.html,\https://www.sodocs.net/doc/4117419780.html,”。安装后的组件名为 Microsoft.Data.Odbc.dll文件。 添加ODBC .NET Data Provider的步骤: 启动Visual https://www.sodocs.net/doc/4117419780.html,开发环境,选中菜单栏的[工具]—>[数据]—>[自定义工具箱],在弹出的[自定义工具箱]对话框中选[.Net 框架组件]单击[浏览]按钮,在“C:\Program File\https://www.sodocs.net/doc/4117419780.html,\https://www.sodocs.net/doc/4117419780.html,”目录下选择Microsoft.Data.Odbc.dll文件。接下来就在[自定义工具箱] 中选择“OdbcCommand”、“OdbcCommandBuilder”、“OdbcConnection”、“OdbcDataApdater” 后,单击[确定]。至此,完成了在Visual https://www.sodocs.net/doc/4117419780.html,中加入ODBC .NET。 二、接下来介绍数据提供者(Data Provider) https://www.sodocs.net/doc/4117419780.html,和https://www.sodocs.net/doc/4117419780.html,两者共提供了三种数据提供者,其中https://www.sodocs.net/doc/4117419780.html,提供两种(The SQL Server .NET Data Provider和The OLE DB .NET Data Provider )

VB+数据库编程之+ADO+连接数据库实例

VB 数据库编程之 ADO 连接数据库实例 这里先说说ADO的ACCESS数据库连接吧,两种。 1.ADO控件连接 “工程”菜单→“部件...”:Microsoft ADO Data Control 6.0 (SP6) (OLEDB) 并将Adodc数据控件绘入窗体。 右击Adodc数据控件→属性→使用连接字符串→生成→Microsoft Jet 4.0 OLE DB Provider→数据位置→找到要连接的ACCESS数据库文件…… Adodc数据控件的RecordSource属性为“2 - adcmdTable”和你要连接的表名。 控件的引用实例如下: '组合框(Combo)控件列表用某字段数据记录填充范例 '在窗体Load事件或Combo的相关事件中写入 '循环1到记录总数 For i = 1 To Adodc1.Recordset.RecordCount '如果不在记录集结尾则 If Not Adodc1.Recordset.EOF Then '组合框增加一行:“姓名”字段的值 Combo1.AddItem Adodc1.Recordset.Fields("姓名").Value '记录指针向后一个 Adodc1.Recordset.Movenext End If Next i 2.ADO代码连接 通用声明 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim cmd As New https://www.sodocs.net/doc/4117419780.html,mand Private Sub Form_Load() '实例化Connection对象 Set cn = New ADODB.Connection cn.CursorLocation = adUseClient cn.Open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & App.Path & "\personnel.mdb;" 'Recordset对象 Set rs = New ADODB.Recordset rs.Open "职工信息", cn, adOpenDynamic, adLockOptimistic

https://www.sodocs.net/doc/4117419780.html,连接各类数据库

1.C#连接连接Access 程序代码: ------------------------------------------------------------------------------- using System.Data; using System.Data.OleDb; .. string strConnection="Provider=Microsoft.Jet.OleDb.4.0;"; strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb"; OleDbConnection objConnection=new OleDbConnection(strConnection); .. objConnection.Open(); objConnection.Close(); -------------------------------------------------------------------------------- 解释: 连接Access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,https://www.sodocs.net/doc/4117419780.html,就是靠这个和Access的数据库连接的.

"Data Source=C:\BegASPNET\Northwind.mdb"是指明数据源的位置,他的标准形式是"Data Source=MyDrive:MyPath\MyFile.MDB". PS: 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符. 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接: strConnection+="Data Source="; strConnection+=MapPath("Northwind.mdb"); 这样就可以省得你写一大堆东西了! 3.要注意连接字符串中的参数之间要用分号来分隔. "OleDbConnection objConnection=new OleDbConnection(strConnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道. "objConnection.Open();"这用来打开连接.至此,与Access数据库的连接完成. -------------------------------------------------------------------------------- 2.C#连接SQL Server 程序代码: -------------------------------------------------------------------------------- using System.Data; using System.Data.SqlClient; .. string strConnection="user id=sa;password=;"; strConnection+="initial catalog=Northwind;Server=YourSQLServer;"; strConnection+="Connect Timeout=30";

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接 Edited by Ryan 2013 1、建立Access数据库 2、启动VB,建立标准EXE 图1 3、添加ActiveX控件 鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面 图2

图3 选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件 图4

4、添加控件Adodc 图5 4、在控件Adodc上添加数据源 鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面 图6

图7 单击“生成(U). . .”,弹出如图8所示界面 图8 选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面

图9 单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示 图10 单击“测试连接(T)”,出现提示框,如图11所示 图11 之后点击“确定”,退回到如图12所示界面

图12 单击“记录源”,弹出如图13所示界面 图13 在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click() ‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open ‘打开数据库 rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1

VBNET数据库编程基础教程

VBNET数据库编程基础教程 众所周知,https://www.sodocs.net/doc/4117419780.html,自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。其中,https://www.sodocs.net/doc/4117419780.html,又是.NET FrameWork SDK中重要的组成部分。要了解https://www.sodocs.net/doc/4117419780.html,的数据库编程,首先要明白https://www.sodocs.net/doc/4117419780.html,的工作原理以及相关的对象、方法、属性。本文将结合具体实例为你简单介绍https://www.sodocs.net/doc/4117419780.html,数据库访问对象以及https://www.sodocs.net/doc/4117419780.html,数据库编程基本方法。 一、https://www.sodocs.net/doc/4117419780.html,数据库访问对象 (一)https://www.sodocs.net/doc/4117419780.html,简介 https://www.sodocs.net/doc/4117419780.html,是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。是在.NET中创建分布式数据共享程序的开发接口。https://www.sodocs.net/doc/4117419780.html,的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server 7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。为此ADO.NE T中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。如Acces s数据。 (二)https://www.sodocs.net/doc/4117419780.html,的名称空间 https://www.sodocs.net/doc/4117419780.html,是围绕System.Data基本名称空间设计,其他名称空间都是从Syste m.Data派生而来。它们使得https://www.sodocs.net/doc/4117419780.html,不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。 当我们讨论https://www.sodocs.net/doc/4117419780.html,时,实际讨论的是System.Data和System.Data.OleDb 名称空间。这两个空间的所有类几乎都可以支持所有类型的数据源中的数据。这里我们讨论与后文实例有关的类。即OleDbconnection、OleDbDataAdapter、D ataSet和DataView。 上面列举的类中没有OleDb前缀的,派生自System.Data空间,有此前缀的派生自System.Data.OleDb空间。在使用中,如果要引用OleDb前缀的类,必须导入System.Data.OleDb名称空间。语法如下: Imports System.Data.OleDb 使用没有此前缀的类必须导入System.Data名称空间。语法如下: Imports System.Data

第七讲 VB访问SQL Server2000数据库的方法

第七讲 VB访问SQL Server2000数据库的方法 一、ODBC数据源设置 1、ODBC简介 ODBC Open DatabaseConnectivity开放式数据库互连)是Mircosoft公司有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API Application应用程序编程接口)。这些API利用SQL来完成大部分的任务。ODBC本身提供对SQL语言的支持,用户可以直接将SQL送给ODBC一个基于ODBC的应用程序对数据库操作不依赖于任何DBMS,不直接与DBMS打交道,所有数据库操作由ODBC驱动程序完成。 2、ODBC数据源的创建(建立ODBC数据源) 前台系统Windows 2000 professional系统,后台Windows 2000 Server系统。以Windows 2000 professional为例: (1)单击“开始”/设置/控制面板/管理工具/数据源ODBC,打开“ODBC数据源管理器”,选择“用户DSN or 系统DSN”,单击【添加】按钮,打开“创建用户数据源”对话框,选择“SQL Server”,单击【完成】按钮。

(2)打开“创建新的数据源到SQL Server”窗口: ○1你想用什么名称命名数据源:在名称框中输入xn。 ○2服务器:为网络中数据库服务器(默认是本地服务器Local,可选远程服务器IP)。 ○3登陆ID:xn密码:xn(取决于安装SQL时所指定的密码)。特别注意此处为确保数据库安全起见,数据库管理员可以给用户指定一个用户名及密码。这里为简便起见使用管理员用户名及密码。 ○4更改数据库为:aa(所要使用的数据库)。

VB_net连接MySQL数据库方法

https://www.sodocs.net/doc/4117419780.html,操作MySQL数据库方法 1.连接数据库 1)下载Connector/Net: https://www.sodocs.net/doc/4117419780.html,/downloads/connector/net/ 2)安装Connector/Net. 3)在https://www.sodocs.net/doc/4117419780.html,工程中,选择Project->Add Reference…菜单,添加MySQl.data 引用,如下图所示: 4)在需要连接数据的文件中添加一行,以打开namespace: Imports MySql.data.MySqlClient 5)创建一个数据库连接 m_strConnection ="server=127.0.0.1;uid=root;pwd=12345;database=computer; pooling=false" m_SqlConn = New MySqlConnection(m_strConnection)

2.显示数据 1)创建一个数据库适配器 Dim strQuery As String = "select * from Product" Dim daAdapter As MySqlDataAdapter = New MySqlDataAdapter(strQuery, m_SqlConn) 2)创建一个Datatable,用数据库适配器来填充datatable Dim dsTable As DataTable = New DataTable(strDataset) daAdapter.Fill(dsTable) 3)绑定datatable到DataGrid控件 dbGridShow.SetDataBinding(dsTable, "") dbGridShow.Visible = True 3.获取表中的某一行某一列 ‘获得指定行 Dim CurRow As Integer CurRow = dbGridShow.CurrentRowIndex Dim tbl As DataTable = dbGridShow.DataSource Dim Row As DataRow = tbl.DefaultView(CurRow).Row '根据当前选定的行得到Delete操作的SQL语句 Dim strDelete As String strDelete = "delete from T_Bars where name = '" + Row("name") + "'" 4.修改或删除数据 '定义操作的SQL语句 Dim strSql As String strSql = "insert into Product(maker,model,type) values('"…”) '创建SqlCommand对象 Dim myCommand As MySqlCommand = New MySqlCommand(strInsertCommand, m_SqlConn) ‘执行操作 m_SqlConn.Open() nRows = myCommand.ExecuteNonQuery()

VBnet数据库操作

'https://www.sodocs.net/doc/4117419780.html, 连接SQL数据库的方法(一) [采用数据集] '================================================== ' 在窗体上添加一个DataGrid控件命名为DataGrid1.在窗体加载事件Load里写入以下代码: Dim 数据库连接As New OleDb.OleDbConnection("Provider=SQLOLEDB;User ID=sa;Password=;Initial Catalog=FKapp;data Source=.") ' 这里<连接字符串>"'<连接字符串>可以自动生成(Connect Timeout=30)超时时间30秒 ' 或数据库连接.ConnectionTimeout =30 Dim 数据适配器As New OleDb.OleDbDataAdapter("select * from tab_load", 数据库连接) ' 这里是SQL语句 Dim 数据集As New DataSet '定义一个数据集 数据适配器.Fill(数据集, "tab_load") '加载数据到数据集 DataGrid1.DataSource = 数据集.Tables("tab_load") '显示出数据 MsgBox("这是数据集中第0 张表的第2行的name列的数据:" & 数据集.Tables(0).Rows(2)("name")) MsgBox("这是数据集中第0 张表的第0行第0列的数据:" & 数据集.Tables(0).Rows(0).Item(0)) MsgBox("这是数据集中tab_load表的第1行的password列的数据:" & 数据集.Tables("tab_load").Rows(1).Item("password")) 'https://www.sodocs.net/doc/4117419780.html, 连接SQL数据库的方法(二) [采用数据读取器] '===================================================== ' 在窗体上添加一个ComboBox控件命名为ComboBox1.在窗体加载事件Load里写入以下代码: '创建连接 Dim 数据库连接As New OleDb.OleDbConnection("Provider=SQLOLEDB;User ID=sa;Password=;Trusted_Connection=yes;Initial Catalog=FKapp;data Source=.") '连接打开 数据库连接.Open() '定义SQL查询语句 Dim SQL语句As OleDb.OleDbCommand = New OleDb.OleDbCommand("select * from tab_load", 数据库连接) '读取数据源行记录 Dim 数据读取器As OleDb.OleDbDataReader 数据读取器= SQL语句.ExecuteReader '发送SQL语句 Do While 数据读取器.Read '循环获得记录 https://www.sodocs.net/doc/4117419780.html,boBox1.Items.Add(Trim(数据读取器.Item("name"))) '添加数据项目到ComboBox列表中 Loop 数据库连接.Close() '关闭连接

VB数据库操作实例

VB数据库操作实例 工具/原料 VB数据库操作对很多初学者朋友感到比较吃力,目前教材中的实例对数据库操作都比较单一,很多朋友提议我做一个包括浏览、添加、修改、删除功能的数据库操作实例,下面这个实例就是一个这样的数据库操作实例。 步骤/方法 1. 1 《书库管理系统》是一个最简单的数据库操作实例,它包括浏览、添加、修改、删除功能的数据库操作,使用数据链接控件Adodc链接数据库、数据显示控件MSHFlexGrid显示数据库中的记录。 在新建工程时工具箱中是没有Adodc控件和MSHFlexGrid控件的,我们必须点击菜单中的【工程】-【部件】,在对话框中勾选“Microsoft ADO Data Control 6.0 (SP6)”和“Microsoft Hierarchical FlexGrid Control 6.0 (SP4)”,最后点击【确定】,这样Adodc控件和MSHFlexGrid控件就已经放置在工具箱中了。 其中Adodc控件的ConnectionString属性值是:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=家庭书架.mdb;Persist Security Info=False",它设置链接了“家庭书架.mdb”这个Access数据库,RecordSourc属性值是:"select 图书登记表.ID,图书登记表.名称,图书登记表.

书号,图书登记表.作者,图书登记表.出版社,图书登记表.出借状态,出借记录.借书人,出借记录.电话,出借记录.地址,图书登记表.备注,图书登记表.出借记录from 图书登记表,出借记录where 图书登记表.ID=出借记录.zhuID ORDER BY 图书登记表.ID",因为在“家庭书架.mdb”数据库中包含"图书登记表"和"出借记录"二个数据表,这是多表链接的典型的SQL语句。Adodc 的这二个属性值在VB的属性窗口进行编辑,你可以将上述属性值直接输入到相应的属性中,设置Visible的值为False,目的是在运行中不显示这个控件,其他属性默认值即可。 MSHFlexGrid控件的名称我们修改为MS1,它的属性设置稍稍比较麻烦:首先将它的DataSource属性在属性窗口设置为"Adodc1"; 然后在对象窗口右击控件,在下拉菜单中点击【属性】,在“通用”标签中修改行为3,修改列为11,修改固定行为0,修改固定列为0,如果数据链接没有问题,在属性的“带区”标签中可以看到列标题和列名称已经设置了,其他属性页的属性可以容许默认值,中点击【确定】即可。 另外在属性窗口设置MSHFlexGrid控件的BackColorBkg属性为&H00FFE0E0&,这个属性是控件底色的设置,然后设置BackColorFixed属性为&H00C0FFFF&,这个属性是控件数据显示标题的底色。其他默认值即可。 最后放置三个按钮,一个标签,三个Frame控件,在Frame1、Frame2、Frame3控件中分别放置9个标签(数组),8个文本框,一个下拉选择框,一个按钮,在Frame2、Frame3控件中分别放置一个标签,设置这个标签的Visible值为False,其他设置参考下图:设置和调整控件如上图后,设置数据库,在

VB数据库编程实用源码

使用ADO编程模型需添加ADO对象类库的“引用”----“Microsoft ActiveX Data Objects 2.x Library” ADO之VB数据库操作主要包括读、写、修改及删除等操作,不论是进行什么数据库操作都必须首先连接到数据库。 一、连接到数据库 1、连接到SQL数据库: 通过ADO的Connection对象可实现VB与SQL数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=SQLOLEDB.1;Password=密码;User ID=用户名;Initial Catalog=SQL数据库文件;Data Source= localhost;" …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 2、连接到ACCESS数据库: 通过ADO的Connection对象可实现VB与ACCESS数据库的连接。一般方法如下: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文件.MDB" '指定提供者,设置数据源 cnn.Open …打开到数据库的连接 …….. cnn.Close …关闭到数据库的连接 或者: Dim cnn As New ADODB.Connection …创建Connection对象cnn,关键字new用于创建新对象 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS数据库文 件.MDB" …打开到数据库的连接

概括VBNET Access数据库连接

概括https://www.sodocs.net/doc/4117419780.html, Access数据库连接 出处:多特软件站时间:2011-06-28 人气:1270我要提问我来说两句 讲解https://www.sodocs.net/doc/4117419780.html,面向对象编程的特性https://www.sodocs.net/doc/4117419780.html,实现IEnumerator接口 核心提示:在向大家详细介绍https://www.sodocs.net/doc/4117419780.html, Access数据库连接之前,首先让大家了解下https://www.sodocs.net/doc/4117419780.html,的简介,然后全面介绍https://www.sodocs.net/doc/4117419780.html, Access数据库连接 在向大家详细介绍https://www.sodocs.net/doc/4117419780.html, Access数据库连接之前,首先让大家了解下https://www.sodocs.net/doc/4117419780.html,的简介,然后全面介绍https://www.sodocs.net/doc/4117419780.html, Access数据库连接。 Visual https://www.sodocs.net/doc/4117419780.html, 是从Visual Basic 语言演变而来的,是一种为高效地生成类型安全和面向对象的应用程序而设计的语言。Visual Basic 允许开发人员开发面向Windows、Web 和移动设备的程序。与所有面向Microsoft .NET Framework 的语言一样,使用Visual Basic 编写的程序都具有安全性和语言互操作性方面的优点。这一代Visual Basic 延续了为您提供一种简单快捷的方法来创建基于.NET Framework 的应用程序的传统。 https://www.sodocs.net/doc/4117419780.html,的简介 https://www.sodocs.net/doc/4117419780.html,是微软最新平台技术,是.netframeworkSDK的一种语言。https://www.sodocs.net/doc/4117419780.html,和VC#.NET在功能上没有区别。编译以后生成的可执行文件被称为Assembly,即程序集。https://www.sodocs.net/doc/4117419780.html,的版本号是VB7.0,它的运行是建立在CLR(CommonLanguageRuntime)和MSIL(MicrosoftIntermediateLanguage)虚拟器上的。其实,它的机制和Java差不多。 https://www.sodocs.net/doc/4117419780.html, Access数据库连接 采用OleDbConnection对象 Private Function getAccessConnection() As OleDbConnection Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\Resources\mag.mdb;Persist Security Info=true" Dim dbConnection As OleDbConnection = New OleDbConnection(dbConnectionString) Try dbConnection.Open() Catch Ex As Exception ’MsgBox(Err.Description) End Try Return dbConnection End Function private Sub fillDataGridView() Dim sqlStr As String = "select * from Table"

相关主题