VB SQL编程基础教程
- 格式:docx
- 大小:34.97 KB
- 文档页数:28
及SQL数据库简介一、SQL数据库快速入门1.SQL2000管理工具1.1 查询分析器查询分析器时执行Transact-SQL语句和存储过程的重要工具,在打开查询分析器时,会弹出连接SQL Server的登陆窗口,进行身份验证。
图1 身份验证窗口可选择SQL Server身份验证模式,根据安装时的登陆名与密码登陆查询分析器。
进入查询分析器后的窗口如图2所示。
下面以一个具体操作为例介绍如何使用查询分析器执行SQL语句。
1)打开查询分析器窗口2)在工具栏下拉列表中选择要连接的数据库。
(以下操作在课堂中演示)3)在代码编辑区输入SQL语句。
4)在工具栏中单击【执行查询】按钮或直接按F5键执行SQL语句,在查询分析器下方会显示SQL语句执行结果。
在利用查询分析器编写SQL语句时,例如创建一个数据表,读者需要记忆创建数据表的语法,如果数据表中包含约束,语法就更加复杂,好在查询分析器提供了各种模板,用户通过模板可以定义各种框架。
在对象浏览器中选择模板选项卡,该选项卡就会显示系统定义的各种模板。
在“模板”选项卡中选择一个模板,例如,展开“creat table”节点,双击一个子节点,在代码编辑器中就会显示创建数据表的框架代码,如图3所示。
图2 查询分析器图3 使用模板1.2 导入和导出数据(演示操作)演示从数据库A 将数据复制至数据库B。
1.3 服务管理器服务管理器主要用于启动、暂停、停止和检查本地或网络中的SQL Server 服务器,在SQL Server安装完成后,首先要启动服务管理器。
选中“当启动OS 时自动启动服务”选项,每当操作系统启动时,服务管理器就会自动启动,并出现在任务栏上。
图4 服务管理器1.4 企业管理器企业管理器应该是SQL Server最重要的管理工具了,通过企业管理器,用户可以进行各种数据库管理。
例如,设计数据库、数据表、视图、存储过程,进行数据备份、还原等操作。
图5 企业管理器使用企业管理器,用户通过界面操作方式可以实现各种常规操作,下面主要通过演示介绍如果在企业管理器中设计数据库。
VB编程教程(全套)
什么是VB编程?
VB编程是指使用微软开发的Visual Basic编程语言进行软件开发的过程。
VB编程非常适合初学者,因为它具有简单易学的特点,并且拥有丰富的开发工具和资源。
本教程将带领您从零开始研究
VB编程,并逐步掌握基本概念和技巧。
教程内容
第一章:入门指南
- 了解VB编程环境
- 安装和配置软件开发工具
- 编写并运行第一个VB程序
第二章:基本语法
- VB的变量和数据类型
- 控制流语句:条件判断和循环
- 函数和过程
第三章:用户界面设计- 创建窗体和控件
- 布局和样式设计
- 事件处理和用户交互
第四章:文件操作
- 读取和写入文本文件- 操作文件和文件夹
- 序列化和反序列化对象
第五章:数据管理
- 数据库连接和操作
- 查询和更新数据
- 数据验证和处理
第六章:高级主题
- 错误处理和调试
- 多线程编程
如何使用教程?
本教程适用于那些想要研究VB编程的初学者和有一定编程经验的开发者。
您可以按照章节顺序逐步研究,也可以根据自己的需求选择特定章节进行研究。
教程中的例子和练将帮助您更好地理解和应用所学知识。
您可以根据教程中的指导进行实践,并尝试编写自己的程序。
结语
本教程涵盖了VB编程的基础知识和常用技巧,希望能够帮助您快速入门和掌握VB编程。
祝您学习愉快,编程顺利!。
对于不少的朋友来说,Excel可能还是在用最基本的功能,但就是最基本的功能,已能帮助我们完成很多的工作,一般的Excel网站,把Excel知识分成——基础知识,公式与函数,图表与数据透视表和VBA程序开发。
其它方面在这不谈,Excel就是因为用VBA,这个平民化的编程平台,而让广大的使用者开发出了相当多的实用小程序,甚至是仅仅用录制宏和稍稍的修改,就可以做成一段非常有用的小程序。
就是因为这个吧,连WPS从2005版都不惜重写代码来支持VBA,背着模仿者的骂名。
而VBA的强大,还不仅仅如此,Excelhome的VBA程序板块中的这句话,应该更能让你体会到其中的意义——认识宏,学习从Excel VBA基础入门到设计制作模板、加载宏,交流各种VBA方法、VBA属性、VBA事件、窗体控件、Excel对象的使用技巧,以及借助API、ADO、SQL构建完整软件系统。
把Excel当成是数据库软件是不正确的,也是不公平的。
它有它相对于数据库易上手,易处理,可视化,简单易用的优点,但也有数据库没有的对大量数据处理,与数据与数据间关系统和引用不便的缺点。
虽然Excel2007版的单个工作表文件已缯加了行与列,但对于大量的数据处理,还是远远不如数据库的。
因此,由于最近的工作需要,接触与了解了一点SQL与数据库方面的知识,所以就以Excel 为程序的前台,用来录入与输出数据或报表,而利用ACCESS数据库来保存数据,最后用VBA+SQL与ADO 来处理数据与联接Excel与数据库,解决了以前对大量数据,多人同时处理数据,数据间统计,对比,引用,关联等诸多以前没办法解决的难题。
因此就把自己使用的心得与大家一起分享,一起学习进步。
千里之行,始于足下,接下来的时间,我用不是很正规,也不是很专业,也不是很严肃,更不是很深奥的语言,来试着带领大家进入这个看似与Excel无关的世界,而这第一步,我们要认识的,就是要认识SQL语言中各个SQL语法,SQL函数与SQL指令。
SQL语句应用基础VBA实例教程除非注明,文章均为战战如疯原创,转载请保留链接: cat4/333.html,VBA交流群273624828。
今天开始我们陆续分享一些Excel VBA操作数据库的实例,要了解这方面的知识首先要对SQL语句有一定的了解,这方面的教程很多,我这里就不再详细介绍。
用VBA从数据库中取数据一般有以下几个步骤。
首先要建立一个adodb.connection对象,之后就要打开我们指定的那个数据库了,需要指定一些参数,像Provider,Extended Property,Data Source等等,这些参数具体是什么意思可以百度,我也没研究过,一般来说我们不必深究,只是Data Source需要我们改成要访问的地址即可。
打开指定的数据库之后下面就要设定SQL语句了,就是告诉程序我们要按一个什么样的规则来取数据,指定完规则之后就是执行这个规则,这样我们就取到相应的数据了。
最后一步就是将取到的数据拿出来,这样就完成我们的目的了。
对于不同的数据库有不同的连接方式,这里我们以Excel数据库为例先来简单的看下上面我们所说的步骤。
现在我有一个从网上抓取的股票数据,放在一个单独的Excel中,我要从该Excel中取出所有的数据到当前的Excel中,看下面的代码Sub search1()'查询表格中所有字段的记录'前期引用microsoft activex dataobjects 2.8 libraryDim cnn As Object, sql$, rs As Object,iSet cnn =CreateObject('adodb.connection') '建立连接对象cnn.Open'Provider=Microsoft.jet.Oledb.4.0;Extended Properties=Excel 8.0;Data Source=' & ThisWorkbook.Path & '/原文件.xls' '打开数据库,适合2007以前版本'cnn.Open'Provider=Microsoft.ACE.OLEDB.12.0;Exte nded Properties=excel 12.0;Data Source=' & ThisWorkbook.Path & '/原文件.xls' '适合2007及以后版本'cnstring='Provider=Microsoft.jet.Ole db.4.0;Extended Properties=Excel 8.0;Data Source=' & ThisWorkbook.Path & '/原文件.xls''cnn.connectionstring=cnstring'cnn.opensql = 'select * from [Sheet1$]' 'SQL规则Range('a1').CurrentRegion.ClearConte ntsSet rs = cnn.Execute(sql) '执行SQL语句For i = 0 To rs.fields.Count - 1 '取表头Cells(1, i 1) = rs.fields(i).NameNextRange('a2').CopyFromRecordsetrs '复制数据cnn.CloseSet rs = NothingSet cnn = NothingEnd Sub我们先创建了一个adodb.connection对象,当然也可以前期引用,这样可以直接定义相关对象了。
在VBA中操作SQL数据库的方法和技巧VBA(Visual Basic for Applications)是一种编程语言,用于开发Microsoft Office应用程序的自定义宏和脚本。
它提供了一种强大的工具,用于操作SQL数据库。
在本文中,我们将探讨在VBA中操作SQL数据库的一些方法和技巧。
首先,我们需要使用ADO(ActiveX Data Objects)库来连接和操作数据库。
ADO是一种用于访问数据源的COM组件,它允许我们在VBA中与SQL数据库进行通信。
连接数据库是使用VBA操作SQL数据库的第一步。
我们可以使用ADODB.Connection对象来建立与数据库的连接。
以下是一个连接到SQL Server数据库的示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.ConnectionString = "Provider=SQLOLEDB;DataSource=server_name;Initial Catalog=database_name;UserID=user_id;Password=password;"conn.Open```在上面的示例中,我们首先创建了一个ADODB.Connection对象,并设置了用于连接数据库的连接字符串。
连接字符串的具体格式取决于所使用的数据库类型和连接信息。
然后,我们通过调用conn.Open方法打开数据库连接。
接下来,我们可以使用mand对象执行SQL查询和操作数据库。
以下是一个执行SELECT查询并将结果返回到Excel工作表的示例:```vbaDim cmd As ObjectSet cmd = CreateObject("mand")cmd.ActiveConnection = connmandText = "SELECT * FROM table_name"mandType = 1 ' adCmdTextDim rs As ObjectSet rs = cmd.ExecuteSheet1.Range("A1").CopyFromRecordset rs```在上面的示例中,我们创建了一个mand对象,并设置其ActiveConnection属性为之前创建的数据库连接。
VB中使用SQL语言基本教程SQL语言基本教程(一)数据库查询语言(SQL)就是使用于关系数据库的标准语言,被很多类型的数据库所支持。
本文将以VB加DAO为例,来介绍基本的SQL语法以及使用。
本章将介绍的就是SQL语言中的基本查询语句,并带有范例。
要更好的阅读本文,读者需要对数据库的基本结构以及术语有一个基本的了解,而且最好能有一定的VB数据库编程经验。
除非特别说明,本文将使用的数据库就是VB中附带的BIBLIO、MDB数据库。
一、SELECT、、、FROM、、、WHERE语句语句的语法如下:SELECT [all | * | distinct column1, column2]FROM table1[, table2]WHERE [condition1 | expression1] [AND condition2 | rxpression2]在上面的语法中,[]外的语句就是必须的,而[]内的就是可选的,对于以 | 分割的操作符,则表明语法中必须从| 分割的操作符中选择一个。
下面的语法描述同上。
在SELECT、、、FROM、、、WHERE语句中其中SELECT指定需要检索的字段,FROM指定要查询的表,WHERE指定选择纪录的条件,另外还可以包含ORDER BY语句来制定排序纪录。
语法如下:ORDER BY column1 | Integer [ASC | DESC]其中column1制定排序的字段,也可以使用Integer指定的字段索引来排序,ASC为升序、DESC为降序。
范例一:找到Titles表中所有出版日期在1990年以后以及包含文字Beginner的书名建立一个新工程,加入DAO定义库(点击菜单中的 Project | References项,在列表中选择Microsoft DAO 3、51 Object Library(也可以就是更高版本的3、60,如果安装了的话),然后在Form中加入一个ListBox控件。
VBA中的数据库操作与SQL语句VBA(Visual Basic for Applications)是一种广泛应用于Microsoft Office平台的编程语言,它允许用户通过编写宏来自动化处理文档、电子表格和数据库等内容。
在VBA中,数据库操作是一项非常常见和重要的任务。
通过使用SQL语句(Structured Query Language),我们可以进行各种数据库操作,包括数据查询、插入、更新和删除等。
本文将介绍如何在VBA中进行数据库操作,并使用SQL语句实现不同的功能。
我们将重点讨论以下几个方面:连接数据库、查询数据、插入数据、更新数据和删除数据。
1. 连接数据库在VBA中连接数据库可以使用ADODB对象模型。
首先,需要创建一个ADODB.Connection对象来进行连接。
在连接之前,需要确定使用的数据库类型,并检查计算机是否已安装相应的数据库驱动。
例如,如果使用的是Microsoft Access数据库,则需要安装Access数据库驱动。
另外,还需要提供数据库的连接字符串,该字符串包含数据库类型、路径、用户名和密码等信息。
下面是一个连接Access数据库的示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\mydatabase.accdb;User Id=myUsername;Password=myPassword;"conn.Open```2. 查询数据查询数据是数据库操作中最常见的任务之一。
在VBA中,我们可以通过执行SELECT语句来实现数据查询。
首先,需要创建一个ADODB.Recordset 对象来接收查询结果。
vb sql数据库查询语句VB SQL数据库查询语句是一种在VB程序中使用的语言,用于检索和操作数据库中的数据。
数据库查询语句是编写在VB代码中的一段代码,在执行时会连接数据库,并根据指定的条件和需求,从数据库中提取所需要的数据。
本文将以VB SQL数据库查询语句为主题,详细介绍其使用方法和步骤。
第一部分:VB SQL数据库查询语句的基本概念和语法VB SQL数据库查询语句是一种结构化查询语言(SQL),用于在VB程序中与数据库进行交互。
SQL语言由一系列的关键字和特定的语法规则组成,用于查询、插入、更新和删除数据库中的数据。
在VB程序中,可以使用ADO(ActiveX Data Objects)对象模型来连接和操作数据库。
下面是一段基本的VB SQL查询语句的语法:vbDim conn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim strSQL As String' 连接数据库conn.Open "Provider=SQLOLEDB;DataSource=myServerAddress;Initial Catalog=myDataBase;UserId=myUsername;Password=myPassword;"' 查询语句strSQL = "SELECT * FROM TableName WHERE Condition"' 执行查询rs.Open strSQL, conn' 处理查询结果If Not rs.EOF Then' 循环处理记录集Do Until rs.EOF' 处理每条记录' 可以通过rs.Fields("字段名")获取字段值rs.MoveNextLoopEnd If' 关闭连接和记录集rs.Closeconn.Close在上述代码中,我们首先创建了一个ADODB.Connection对象来连接数据库,然后创建了一个ADODB.Recordset对象来保存查询结果。
使用VBA执行SQL在VBA中执行SQL语句,可以使用ADODB对象模型。
ADODB(ActiveX Data Objects Database)是Microsoft提供的一个用于访问数据库的接口。
首先,我们需要引用Microsoft ActiveX Data Objects库。
在VBE (Visual Basic Editor)中,点击"工具"->"引用",然后勾选"Microsoft ActiveX Data Objects x.x Library",其中x.x表示版本号。
接下来,在VBA中创建一个Sub或Function,在其中编写执行SQL的代码。
```vbaSub ExecuteSQLDim conn As ADODB.ConnectionDim rs As ADODB.RecordsetDim strSQL As String'创建连接对象Set conn = New ADODB.Connection'设置连接字符串conn.ConnectionString = "Provider=SQLOLEDB;Data Source=服务器名称;Initial Catalog=数据库名称;User ID=用户名;Password=密码;"'打开连接conn.Open'创建记录集对象Set rs = New ADODB.Recordset'SQL查询语句strSQL = "SELECT * FROM 表名;"'执行SQL语句rs.Open strSQL, conn'循环遍历记录集,输出结果Do Until rs.EOFDebug.Print rs.Fields("字段名").Value ' 将结果输出到Immediate窗口rs.MoveNextLoop'关闭记录集rs.Close'关闭连接conn.Close'释放对象Set rs = NothingSet conn = NothingEnd Sub```在上面的代码中,需要修改的部分是连接字符串的内容,包括服务器名称、数据库名称、用户名和密码。
VB中使用SQL语言基本教程SQL语言基本教程(一)数据库查询语言(SQL)是使用于关系数据库的标准语言,被很多类型的数据库所支持。
本文将以VB加DAO为例,来介绍基本的SQL语法以及使用。
本章将介绍的是SQL语言中的基本查询语句,并带有范例。
要更好的阅读本文,读者需要对数据库的基本结构以及术语有一个基本的了解,而且最好能有一定的VB数据库编程经验。
除非特别说明,本文将使用的数据库是VB中附带的BIBLIO.MDB数据库。
一、SELECT...FROM...WHERE语句语句的语法如下:SELECT [all | * | distinct column1, column2]FROM table1[, table2]WHERE [condition1 | expression1] [AND condition2 | rxpression2]在上面的语法中,[]外的语句是必须的,而[]内的是可选的,对于以 | 分割的操作符,则表明语法中必须从| 分割的操作符中选择一个。
下面的语法描述同上。
在SELECT...FROM...WHERE语句中其中SELECT指定需要检索的字段,FROM指定要查询的表,WHERE指定选择纪录的条件,另外还可以包含ORDER BY语句来制定排序纪录。
语法如下:ORDER BY column1 | Integer [ASC | DESC]其中column1制定排序的字段,也可以使用Integer指定的字段索引来排序,ASC为升序、DESC 为降序。
范例一:找到Titles表中所有出版日期在1990年以后以及包含文字Beginner的书名建立一个新工程,加入DAO定义库(点击菜单中的 Project | References项,在列表中选择Microsoft DAO 3.51 Object Library(也可以是更高版本的3.60,如果安装了的话),然后在Form中加入一个ListBox控件。
使用VB远程创建SQL数据库及表在进行C/S架构的数据库管理系统中,首要做的一件事是,给远程数据库服务器创建数据库及表、视图、存储过程等等。
或是由于某种原因,需要对远程数据库进行修改或建表等等。
于是就产生了远程操作数据库服务器的要求。
在这里,远程服务器的数据库是MS SQL2000,服务器地址是:192.168.28.200,数据库服务器使用WINDOWS身份验证,用户名sa,密码hssxezflb。
一、远程连接数据库服务器并创建数据库。
因为使用ADO连接数据库,故在“工程”->“引用”添加Microsoft ActiveX Data Objects 2.6 Library。
需要创建数据库,首先要连接到数据库服务器,需要连接到数据库master。
1、数据定义Dim ConnStr As String …数据库连接字符串Dim SqlStr As String …查询语言字符串Dim conn As New ADODB.Connection …ADO连接对象Dim rs As New ADODB.Recordset …ADO数据集2、设置数据库连接字符串并连接数据库masterConnStr ="Driver={SQL Server};Server=192.168.28.200;Uid=sa;Pwd=hssxezflb;database=master" …可以写在一行,这里是为了排版需要conn.Open ConnStr …打开数据库if conn.State<>adStateOpen Thenmsgbox “数据库打开失败”exit subend if数据库打开失败,原因很多,见《Window 2003 SQL2000远程连接的问题解决办法.doc》数据库连接字符串的方式也可以这样进行书写ConnStr ="Provider=sqloledb.1;password=hssxezflb;user id=sa;initial catalog=master;data source=192.168.28.200”3、创建所需要的数据库在master数据库中,有一个表sysdatabases,记录了本SQL服务器的所有数据库。
关于VB调用SQL的编程方法——VB中采用ADO接口访问SQL方法1:一、首先创建SQL数据库和表,假设创建数据库名为"input",表共有两张,分别为"userinformation"用户登陆信息的表,字段为"name"保存用户名,"pwd",用户密码,"name"字段设置为主键,再建一张表"inputdata",字段可以根据要求设定。
二、接下来就是创建数据源。
这里以创建文件数据源为例。
打开控制面板,打开“管理工具”,打开数据源(ODBC)对话框,选择“文件DSN”,选择“添加”,数据源驱动程序选择“SQL Server”,点击下一步,在输入框中输入"input",下一步,点击完成,在新出现的画面中的服务器选择框中输入你的SQL服务器名称,下一步,选择使用用户输入登陆ID和SQL密码验证方式,下面的登陆ID框中输入"sa",密码为空,下一步,勾选“更改默认数据库”,选择刚创建的数据库"input",下一步,点击完成,测试数据院配置成功,到此数据源配置结束。
注意:你的SQL安全性验证应改为“使用用户输入登陆ID和SQL密码验证方式”,可打开“企业管理器”进行更改,展开“SQL SERVER组”下的服务器,在服务器名上右击选择“属性”里的“安全性”,将身份验证改为“SQL SERVER和windows”,下面的用户帐户选择“系统帐户”(是默认选择)三、启动VB6,选择“工程-引用”,选择“Microsoft ActiveX Data Objects 2.0 Library”,或者更高版本。
下面是编写数据库连接模块的代码:Function Connection() As StringConnection = "FileDSN=input.dsn;UID=sa;PWD="'连接到文件型DSN(数据源),UserID=sa,password=""End FunctionPrivate Sub Form_Load()Dim cnn As New ADODB.Connection'创建一个新的ADODB连接对象Dim rst As New ADODB.Recordset'创建一个新的ADODB记录对象cnn.Open Connection'打开数据库连接rst.Open "select * from userinformation", cnn, adOpenKeyset, adLockOptimistic'打开数据库中的"userinformation"表End Sub这段代码可以放在登陆窗体中,以上已经将"userinformation"表打开了,要添加用户可以使用rst 对象的AddNew方法,如:rst.AddNewwith rst.Fields (0)="Admin"'第一个字段的下标为0.Fields (1)="122"'密码end withrst.update'更新数据库,即保存刚添加的记录登陆成功后,可以使用类似的方法对“inputdata”表进行操作,这里不再详述。
Excel VBA ADO SQL入门教程011:SELECT语法结构和运算顺序望向孤单的晚灯是那伤感的记忆再次泛起心里无数的思念……1.听说鲁迅先生说过,学习一门语言,英语也好,计算机语言也罢,重要的是掌握它的结构。
对于计算机语言而言,所谓结构,当然不只是指语法结构,也包含了数据结构、思维和运算结构等……不过,对于初学者而言,紧要的是先掌握语法结构。
第3章的时候(Excel VBA ADO SQL 入门教程003:字段查询)我们说过,SELECT语句超简版的语法如下SELECT 字段名FROM 表名经过这一段时间的分享,我们又陆续学习了WHERE/GROUPBY/HAVING/ORDER BY等子句……因此,我们今就来说下SELECT语句完整的语法结构。
如下:SELECT 字段名FROM 表名[WHERE] 条件筛选[GROUP BY] 分组[HAVING] 分组筛选[ORDER BY] 排序被中括号包括的,都是可选的。
2.了解了SELECT完整的语法结构,下一个问题是:它的运算顺序是怎么样的?我们接触到的语言,有些是按语句的先后顺序运算的,比如VBA;有些不是,比如Excel函数,多层Excel函数是由里到外的运算顺序。
那么SQL呢?一个完整的SELECT语句运算顺序如下:(1),首先运算的是FROM子句,根据FROM子句中指定的一个或多个表创建工作表。
(2),如果存在WHERE子句,则WHERE子句对步骤1获得的工作表进行条件筛选,删除不符合条件的记录。
(3),如果存在GROUP BY子句,则对步骤2生成的结果表按指定字段进行分组,生成一份新的结果表。
(4),如果存在HAVING子句,则对步骤3的结果表按指定条件进行筛选,删除掉不满足筛选条件的记录。
(5),此时,步骤4生成的结果表,如果有字段名称不包含在SELECT 字段名所指定的字段名中,则删除。
另外,如果SELECT子句中包含关键字DISTINCT,则执行去重复行。
数据库编程基础教程罗珊众所周知,自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的。
其中,又是.NET FrameWork SDK中重要的组成部分。
要了解的数据库编程,首先要明白的工作原理以及相关的对象、方法、属性。
本文将结合具体实例为你简单介绍数据库访问对象以及数据库编程基本方法。
一、数据库访问对象(一)简介是由微软Microsoft ActiveX Data Object(ADO)升级发展而来的。
是在.NET中创建分布式数据共享程序的开发接口。
的数据存取API提供两种数据访问方式,分别用来识别并处理两种类型的数据源,即SQL Server7.0(及更高的版本)和可以通过OLE DB进行访问的其他数据源。
为此中包含了两个类库,System.Data.SQL库可以直接连接到SQL Server的数据,System.Data.ADO库可以用于其他通过OLE DB进行访问的数据源。
如Access数据。
(二)的名称空间是围绕System.Data基本名称空间设计,其他名称空间都是从System.Data派生而来。
它们使得不仅访问DataBase中的数据,而且可以访问支持OLE DB的数据源。
当我们讨论时,实际讨论的是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.Data1.OleDbConnection类OleDbConnection类提供了一个数据源连接。
这个类的构造函数接受一个可选参数,称为连接字符串。
(1)连接字符串:连接字符串本身由下表中列出的参数构成。
(图)我们来看一下如何在连接字符串上使用参数来初始化一个连接对象。
Dim objconnecttion as OleDbConnection=NewOleDbConnection(″Provider=SQLOLEDB;″&″DataSource=localhost;Initial Catalog=pubs;″&″UserID=liuguo;Password=1234;″)上面的连接字符串使用SQLOLEDB提供者访问SQL Server数据库。
Data Source参数指定数据库位于本地机器上,Initial Catalog参数表示我们要访问的数据库名称是“pubs”。
(2)打开和关闭数据库:一旦用上面的方法初始化了一个连接对象,就可以调用OleDbConnection 类的任何方法来操作数据。
其中打开与关闭数据库方法是任何操作的基本环节。
打开数据库:objConnection.Open()关闭数据库:objConnection.Close()OleDbConnection类的其他方法与属性请查阅相关手册。
2.OleDbDataAdapter类OleDbDataAdapter类可以在所有OLE DB数据源中读写数据,并且可以设置为包含要执行的SQL语句或者存储过程名。
OleDbDataAdapter类并不真正存储任何数据,而是作为DataSet类和数据库之间的桥梁。
(1)SelectCommand属性:要从数据库中读取数据,必须首先设置OleDbDataAdapter类的SelectCommand属性。
该属性用来指定选取哪些数据以及如何选取数据。
(2)Fill方法:Fill方法用来完成向DataSet对象中填充由OleDbDataAdapter对象从数据库中检索的数据。
其语法如下:Fill(DataSet,String)其中,DataSet参数用于指定一个有效的DataSet对象,将用数据进行填充;String参数指定了用于表映射的表名称。
(3)DataView类:DataView类一般用于从DataSet类中排序、过滤、查找、编辑和导航数据。
与DataSet一样其内部数据使用的是DataTable对象。
DataView类是DataTable对象的一个自定义视图。
同时DataView中的数据又独立于DataSet中DataTable包含的数据,所以可以对数据进行操作而又不会影响DataSet中的数据。
其主要方法与属性如下:Sort方法:对DataView包含的数据进行排序。
语法如下:objDataView.Sort = ″排序条件″Find方法:在DataView搜索指定的数据行。
语法如下:rec=objDataView.Find(″指定条件″)注意:Find方法查找不区分大小写;如果找到一个匹配数据,Find方法将返回其在DataView中记录位置,否则返回-1。
有关DataView的其他方法与属性请查阅相关手册。
(三)的核心组件的核心组件主要包括:Connections:连接管理数据库事务。
Commands:向数据库发送的操作命令。
DataReaders:直接读取流数据。
DataSets和DataSetCommands:处理内存镜像数据。
首先用Connections对象在Web页面和数据库之间建立连接,然后通过Commands向数据库提供者发出操作命令,使操作结果以流数据的形式返回连接。
再通过DataReaders快速读取流数据,保存数据到DataSets对象。
最后再由DataSetCommands对象对数据进行集中访问和操作。
1.Connections对象.NET框架中共提供了两个Connections对象:SQLConnection和ADOConnection。
应用Connections对象时,先用Connections对象建立连接,然后调用Open方法来打开连接。
通常建立链接时,要提供一些信息,如数据库所在位置、数据库名称、用户账号、密码等相关信息,Connection 对象提供了一些常用属性用来进行此类设置。
(图)SQLConnection的具体操作方法是:Dim myConnection as string= ″server=localhost;uid=liuguo;pwd=12345;database=northwind″Dim myConn As OleDbConnection = New OleDbConnection(myConnection) ADOConnection的具体操作方法是:Dim myConnection As string =″localhost;uid=liuguo;pwd=12345;Intial catalog=Northwind;″Dim myConn As OleDbConnetion = New OleDbConnection(myConnection) MyConn.Open()mands对象当链接到数据库之后,可以使用Command对象对数据库进行操作,如进行数据添加、删除、修改等操作。
一个命令(Command)可以用典型的SQL 语句来表达,包括执行选择查询(Select Query)来返回记录集,执行行动查询(Action Query)来更新(增加、编辑或删除)数据库的记录,或者创建并修改数据库的表结构。
当然命令(Command)也可以传递参数并返回值。
Command可以被明确的界定,或者调用数据库中的存储过程。
Dim objCmd as New OleDbCommand(″SELECT * From users″, objConn)以上语句建立Command,根据习惯,也可以使用以下方法:Dim objCmd as New OleDbCommand()objCmd.Connection = objConnmandText = ″SELECT * FROM users″3.DataReaders对象DataReaders是专门用来读取数据的对象,这个对象除了读数据以外,不能做其他任何数据库操作。
Dim objReader as OleDbDataReaderobjReader = objCmd.ExecuteReaderWhile objReader.ReadResponse.Write(objReader.GetString(0) & ″″=End While4.DataSet对象DataSet是的核心。
DataSet是一个存在于内存中的数据库,也就是说它是离线的,并没有同数据库建立即时的连线。
在中,DataSet是专门用来处理从数据保存体(Data Store)中读出的数据。
不管底层的数据库是SQL Server还是ADO,DataSet的行为都是一致的。
可以使用相同的方式来操作从不同数据来源取得的数据。
在DataSet中可以包含任意数量的DataTable(数据表),且每个DataTable对应一个数据库的数据表(Table)或视图(View)。
一般来说,一个对应DataTable对象的数据表就是一堆数据行(DataRow)与列(DataColumn)的集合。
DataTable会负责维护每一笔数据行保留它的初始状态(Original State)和当前的状态(Current 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 Withdtable.Colu mns(″UID″).AutoIncrement = Trueds1.Tables.Add(dtable)dim pkey() as DataColumn = {ds1.Tables(″people″).Columns(″UID″)}ds1.Tables(″people″).PrimaryKey = pkey以上语句稍微有点复杂,我们来简单分析一下。