C数据库编程.ppt
《C数据库编程.ppt》由会员分享,可在线阅读,更多相关《C数据库编程.ppt(58页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C数据库编程nC C数据库编程数据库编程n n11.1.1 ADO.NET简介n n11.1.2 第一个简单例子n n11.1.3 访问数据库的一般步骤 nC C数据库编程数据库编程 ADO(Active Data Objects)是Microsoft开发的面向对象的数据访问库,ADO.NET是ADO的后续技术,提供对SQL SEVER等数据源的一致访问。数据使用者可以通过ADO.NET来连接到这些数据源(SQL SERVERACCESSOLE DB等),并检索、操作和更新数据。ADO.NET DataSet是ADO.NET结构的核心组建,DataSet中包括一个或多个DataTable对象的
2、集合,这些对象由数据行和数据列以及主键、外键、约束和有关DataTable对象中数据的关系信息组成。ADO.NET的另外一个核心元素是.NET Framawork数据提供程序,能够实现数据操作和对数据的快速访问。其中,Connection对象提供与数据源的连接;Command对象使你能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令;DataReader对象从数据源中提供高性能的数据流;DataAdapter对象提供连接DataSet对象和数据源的桥梁。目前,.NET Framawork附带了两个数据提供程序:SQL Server 和OLE DB数据提供程序。OLE
3、 DB数据提供程序位于System.Data.OleDb空间,SQL Server 数据提供程序位于System.Data.SqlClient命名空间。以下是每个数据提供程序所包含的主要类:实现接口实现接口OLE DB提供程序SQL Server 提供程序ConnectionConnectionOleDbConnectionOleDbConnectionSqlConnectionSqlConnectionCommandCommandOleDbCommandOleDbCommandSqlCommandSqlCommandDataReaderDataReaderOleDb DataReaderOl
4、eDb DataReaderSql DataReaderSql DataReaderDataAdapterDataAdapterOleDb DataAdapterOleDb DataAdapterSql DataAdapterSql DataAdapternC C数据库编程数据库编程 现在编写一个名为GetStudent的访问SQL SERVER数据库的控制台应用程序,对学生信息表中的信息进行读取(假设学生信息表已经建立)。using System;using System.Collections.Generic;using System.Data;using System.Data.SqlC
5、lient;namespace GetStudent class Program static void Main()string connStr=“server=(local);Initial Catalog=students;user Id=sa;password=1234”;SqlConnection conn=new SqlConnection(connStr);conn.Open();SqlCommand cmd=conn.CreateCommand();cmd.CommandText=“Select ID,sName from student”;SqlDataReader read
6、er=cmd.ExecuteReader();string output;while(reader.Read()output=string.Format(“学生 0t的学号是1”,reader.GetString(1),reader.GetString(0);Console.Writeline(output);reader.Close();conn.Close();C数据库编程数据库编程(1)导入数据访问的名称空间,表示在该程序中将使用SQL Server 数据提供程序。using System;using System.Collections.Generic;using System.Dat
7、a;using System.Data.SqlClient;(2)在Main主方法中,首先定义了一个字符串类型的connStr变量,用来存放连接SQL SERVER的数据库连接字符串。接着新建了一个SqlConnection对象,用于连接数据库。string connStr=“server=(local);Initial Catalog=students;user Id=sa;password=1234”;SqlConnection conn=new SqlConnection(connStr);(3)调用conn对象的Open方法打开数据库连接。conn.Open();(4)新建SqlCom
8、mand对象,该对象用于向数据库发出命令。通过调用数据库连接对象conn的CreateCommand方法来建立SqlCommand对象。SqlCommand cmd=conn.CreateCommand();(5)有了命令对象cmd后,指定该命令对象的属性CommandText。cmd.CommandText=“Select ID,sName from student”;(6)命令对象cmd设置完毕,可以向数据库发出命令,执行在CommandText中定义的操作。cmd对象的执行结果保存在SqlDataReader对象reader中。SqlDataReader reader=cmd.Execu
9、teReader();(7)在reader中已经保存了从数据库读取的信息,现在的任务是输出它们。从数据读取器中获取数据一般用while循环,Read()方法一直返回真值,直到reader的指针指向最后一条记录的后面。while(reader.Read()output=string.Format(“学生 0t的学号是1”,reader.GetString(1),reader.GetString(0);Console.Writeline(output);(8)数据读取以后,应该关闭数据读取器和数据库连接对象。reader.Close();conn.Close();nC C数据库编程数据库编程 从前
10、面例子的分析中,得出通过ADO.NET访问数据库的一般步骤如下:(1)建立数据库连接对象(Connection对象);(2)打开数据库连接(Connection对象的Open方法);(3)建立数据库命令对象,指定命令对象所使用的连接对象(Command);(4)指定命令对象的命令属性(CommandText属性);(5)执行命令(Command的方法,如ExecuteReader);(6)操作返回结果(对SqlReaderData对象进行读取);(7)关闭数据库连接。nC C数据库编程数据库编程 在数据访问中必须建立到数据库的物理连接。每个数据提供程序都包含自己特有的Connection对象。
11、当使用OLE DB数据提供程序时,要使用System.Data.OleDb空间的OleDbConnection对象,使用SQL Server 数据提供程序时,要使用位于System.Data.SqlClient命名空间的SqlConnection对象。在程序开始导入名称空间System.Data.SqlClient和System.Data.OleDb。nC C数据库编程数据库编程 1、SqlConnection类SqlConnection类有两个构造函数,一个不带参数,一个接受连接字符串。可以使用以下两种方法进行实例化连接。string connStr=“server=(local);Init
12、ial Catalog=students;user Id=sa;password=1234”;SqlConnection conn=new SqlConnection(connStr);conn.Open();或者SqlConnection conn=new SqlConnection(“server=(local);Initial Catalog=students;user Id=sa;password=1234”;);conn.Open();注意:只有当一个连接关闭后才能把两外一个不同的连接字符串赋值给Connection对象。如果不知道该对象是打开的还是关闭的,可以检查对性的State属
13、性,它的值可以是Open,也可以是Closed。BrokenBroken与数据源连接中断,可以关闭之与数据源连接中断,可以关闭之后再打开。后再打开。ClosedClosed处于关闭状态处于关闭状态ConnectingConnecting对象正与数据源连接对象正与数据源连接ExecutingExecuting对象正在执行命令对象正在执行命令FetchingFetching对象正在检索数据对象正在检索数据OpenOpen连接处于打开状态连接处于打开状态 2、连接字符串ConnectionString连接字符串包含由一些“属性名=值”对组成的集合,每个“属性名=值”对都由分号隔开。string co
14、nnStr=“server=(local);Initial Catalog=students;user Id=sa;password=1234”;其中,server为服务器地址,值local表示使用本地机器。server关键字也可以用Data Source来代替,即字符串可以写成string connStr=“Data Source=(local);Initial Catalog=students;user Id=sa;password=1234”;Initial Catalog指明了连接使用的数据库,user ID和password则分别指明了访问数据库时使用的用户名和密码。如果在安装数据库
15、软件时选择的身份验证方式为windows身份验证模式,则应使用如下连接字符串:string connStr=“Data Source=(local);Initial Catalog=students;Integrated Security=SSPI”;Integrated Security=SSPI表示连接时使用的是windows身份验证模式。3、SqlConnection的方法SqlConnection由自己的方法,如前面使用过的Open()和Closed()方法。其他方法还有:CreateCommand 创建并返回一个与SqlConnection关联的SqlCommand对象。Change
16、Database 为打开的SqlConnection更改当前数据库。注意:数据库连接必须小心,应该在最晚的时候建立连接,在最早的时候关闭连接,以释放占用的内存和网络带宽资源。4、连接SQL SERVER的数据访问实例(1)启动visual ,新建一个windows 应用程序。(2)从工具栏中拖动一个Button控件到页面中,将ID设为btnconnect,Text属性为“点击连接数据库”。(3)在Form1.cs文件中添加名称空间using System.Data.SqlClient;(4)双击btnConnect控件,在Click事件相关处理程序btnconnect_click中输入以下代码
17、:try SqlConnection conn=new SqlConnection();conn.ConnectionString=“Data Source=(local);user id=sa;password=1234;initial Catalog=student;”;conn.Open();if(conn.State=ConnectionState.Open)MessageBox.Show(“连接已经打开”);conn.Close();if(conn.State=ConnectionState.Closed)MessageBox.Show(“连接已经关闭”);catch(Excepti
18、on e)MessageBox.Show(“连接失败,原因可能是“+e.Message);5、按ctrl+f5运行项目,单击表单中的”点击连接数据库“按钮,如果数据库连接成功,则将依次弹出两个对话框。6、如果连接不成功,则会得到提示错误信息的页面。nC C数据库编程数据库编程 1、说明目前在网络流行的小型数据库access,就应该使用OLE DB.NET 数据提供程序来访问数据,该程序在System.Data.OleDb空间中定义。使用OLE DB.NET 数据提供程序与使用SQL SERVER.NET数据提供程序的方式十分类似,需要注意的是连接字符串有所不同,连接到access数据库的字符串
19、格式如下:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb;user id=;password=;前面两项为必须项,如果数据库没有密码,后面两者都可以省略,在实际项目中,Data Source还必须转化为绝对路径。C C数据库编程数据库编程数据库编程数据库编程(1)启动visual ,新建一个windows应用程序。(2)在表单Form1中添加按钮btnconnection,属性设置同前面例子。(3)在在Form1.cs文件中添加名称空间using System.Data.OleDb;(4)双击btnConnect控件,在Click事件
20、相关处理程序btnconnect_click中输入以下代码:(5)运行程序。tryOleDbConnection conn=new OleDbConnection();string connStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=;connStr+=Datadb.mdb;MessageBox.Show(当前连接字符串为:n+connStr+n);conn.ConnectionString=connStr;conn.Open();if(conn.State=ConnectionState.Open)MessageBox.Show(连接成功
21、);conn.Close();if(conn.State=ConnectionState.Closed)MessageBox.Show(关闭成功);catch(Exception ex)MessageBox.Show(连接失败,原因是:n+ex.Message);nC C数据库编程数据库编程 建立数据连接之后,就可以执行数据访问操作和数据操纵操作了,一般对数据库的操作被概括为CRUD-Create Read Update和Delete。ADO.NET中定义Command类去执行这些操作。在.NET中存在SqlCommand和OleDbCommand两种类,两者类似。数据命令通常包括的内容有:一
22、个连接(Connection):命令对象所使用的连接对象;使用它与数据库通信。命令的名称或文本(CommandText):设置要对数据源执行的SQL语句或存储过程。命令类型(CommandType):指明命令的类型,是存储过程还是普通SQL文本;参数(Patameters):参数集合,可以分别设置或者读取这些参数。其中,CommandText的内容和CommandType有关,当类型为StoreProcedure时,CommandText属性为存储过程的名称,当类型为TableDirect时,CommandText属性为要访问的表的名称,当类型为Text时,则CommandText属性为SQL
23、语句。默认为Text。1、SqlCommand对象的创建方法一:SqlCommand cmd=new SqlCommand();/创建命令对象cmd.Connection=ConnectionObject;/将已有连接赋给命令对象cmd.CommandText=CommandText;/将已有命名文本赋给命令对象CommandText可以是从数据库检索数据的SQL Select语句:string CommandText=“select*from student”;也可以是一个存储过程的名称:string CommandText=“GetAllStudent”;cmd.CommandType=C
24、ommandType.StoreProcedure;方法二:将命令文本放入构造函数作为参数:SqlCommand cmd=new SqlCommand(CommandText);cmd.Connection=ConnectionObject;方法三:直接将命名文本和连接对象放入构造函数SqlCommand cmd=new SqlCommand(CommandText,ConnectionObject);方法四:可以直接使用Connection对象的CreateCommand方法SqlCommand cmd=conn.CreateCommand();cmd.CommandText=“Select
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 编程
限制150内