C#操作数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库设计与开发江门职业技术学院使用C#访问数据库典型的信息系统包含两部分:1,用户界面(前台)2,数据库(后台)•如何建立用户界面与数据库的链接,来形成一个简单的信息系统框架?ADO.NET简介以流的形式从文件中读写数据ADO.NET简介以流的形式从文件中读写数据中央数据库要管理数据库,需要专门的软件应用程序ACCESSSQL-ServerORACLEADO.NET简介中央数据库用户需要时,可以随时访问数据用户计算机向数据库服务器发送请求客户端不同的访问方法和技术ADO.NET简介.NETFrameworkSystem.Data命名空间以ActiveX数据对象(ADO)为基础以XML(扩展标记语言)为格式传送和接收数据ADO.NET对数据库的访问(1)数据库数据适配器数据集数据绑定控件WinForm选择和连接命令填充数据源将数据传递到用户界面时,ADO.NET采用XML格式数据已缓存ADO.NET对数据库的访问(2)对于Insert,Update,Delete等单向操作应用程序数据库1、用Connection.Open打开数据库2、用DataAdaptor.Command或者Command.Execute执行命令3、关闭数据库Insert用InsertCommandDelete用DeleteCommandUpdate用UpdateCommandADO.NET对数据库的访问(3)应用程序数据库关闭数据库1、用Connection.Open建立连接2、用DataAdaptor.SelectCommand执行命令DataAdaptor.Fill对于Select的双向操作DataSet.NET数据提供程序1ConnectionADO.NETDataSet.NETFramework数据提供程序1、SQLClient2、OLEDB3、Oracle4、ODBC由以下各项组成的集合:.NET数据提供程序2客户端服务器数据集2、将数据发送到数据集A、客户端修改数据集3、数据集传递给客户端B、将修改后的数据集传递给服务器1、客户端从服务器请求数据1,2,3是从服务器检索数据的过程A、B是对数据库修改的过程.NET数据提供程序3•用于SQLServer的.NETFramework数据提供程序System.Data.SqlClient命名空间仅限于连接SQLServer数据库7.0或更高版本每种.NET数据提供程序都是由以下四个对象组成:–Connection–Command–DataAdapter–DataReaderC#操作SQLServer数据库的对象C#操作SQLServer数据库的步骤1.引入命名空间usingSystem.Data.SqlClient。2.定义连接串。3.定义SqlConnection对象,并使用Open()方法打开对数据库的连接。4.定义SqlCommand对象,并指定使用哪个连接对象连接到数据库。5.定义SqlCommand对象的命令类型。6.定义SqlCommand对象使用何种SQL命令。7.使用SQLCommand对象的方法获得数据库中的数据并放入结果集中。8.使用SqlDataReader对象的方法将结果集中的数据读取出来加以操作。9.关闭数据库连接,即调用SqlConnection的Close()方法。1、为什么使用Connection应用程序数据源请求数据Connection桥梁Connection主要成员必须显式关闭连接属性说明ConnectionString连接字符串state当前连接的状态方法说明Open打开数据库连接Close关闭数据库连接连接数据库步骤•连接数据库的步骤:1、定义连接字符串2、创建Connection对象3、打开与数据库的连接DataSource=服务器名;InitialCatalog=数据库名;UserID=用户名;Pwd=密码SqlConnectionconnection=newSqlConnection(connString);连接字符串connection.Open();没有用户名和密码,可省略示例1代码分析//数据库连接字符串stringconnString=DataSource=.;InitialCatalog=MySchool;UserID=sa;//创建Connection对象SqlConnectionconnection=newSqlConnection(connString);//打开数据库连接connection.Open();MessageBox.Show(打开数据库连接成功);//关闭数据库连接connection.Close();MessageBox.Show(关闭数据库连接成功);表示本机2、为什么使用Command应用程序打开数据库处理数据……数据源Connection怎样处理数据执行命令并从数据源中返回结果Command的主要成员属性说明ConnectionCommand对象使用的数据库连接CommandText执行的SQL语句方法说明ExecuteNonQuery执行命令但不返回任何结果集,一般用于InsertUpdataDelete等ExecuteReader返回DataReader对象,一般用于Select等返回结果集的SQL语句ExecuteScalar返回单个值,返回结果集中第一行的第一列,如执行COUNT(*)使用Command步骤•使用Command步骤:1、创建数据库连接2、定义SQL语句3、创建Command对象4、执行命令SqlConnectionconnection=newSqlConnection(connString);stringsql=SELECTCOUNT(*)FROMStudent;connection.Open();//打开数据库连接SqlCommandcommand=newSqlCommand(sql,connection);intnum=(int)command.ExecuteScalar();执行命令前,必须打开数据库连接!要进行类型转换!3、为什么使用DataSet对象应用程序大量的数据来自多个数据源•大批量的查询、修改数据怎么办?•想在断开数据库连接的情况下操所数据怎么办?使用DataSet对象DataSet数据库什么是DataSet对象•DataSet数据集–简单理解为一个临时数据库–将数据源的数据保存在内存中–独立于任何数据库工厂的仓库车间的临时仓库生产线数据源DataSet应用程序驻留于内存,临时存储数据类似DataSet的基本结构1DataSetDataTableDataColumnCollectionDataRowCollectionDataColumnDataRowDataTableCollection数据集数据表的集合数据表数据列的集合数据行的集合数据列数据行DataSet的基本结构2GradeTableClassTableStudentTableidnameclasssex1小菲5女2小薇3女3小强6男DataTableCollection数据表集合DataTable数据表DataRowCollection数据行集合DataRow数据行DataColumnCollection数据列集合DataColumn数据列数据集的工作原理数据集发送数据修改数据集传递数据提交修改后的数据请求数据客户端如何创建DataSet对象•创建一个DataSet–可以指定一个数据集的名称–如果不指定名称,则默认被设为NewDataSetDataSetdataSet=newDataSet();DataSetdataSet=newDataSet(“MySchool”);//MySchool为数据集名称DataSet数据集对象=newDataSet(数据集的名称字符串);可选的使用C#代码创建数据集•数据集实例是由DataSet构造函数创建的•数据集的名称是可选的,不需要指定•如果没有指定名称,则以默认名称NewDataSet创建数据集属性说明DataSetName用于获取或设置当前数据集的名称Tables用于检索数据集中包含的表集合方法说明Clear清除数据集中包含的所有表的所有行HasChanges返回一个布尔值,指示数据集是否更改了DataSetstuDS=newDataSet(“StudentDetails);DataTable、DataColumn和DataRow1•数据集中的数据以DataTable对象的形式存储•DataTable类属于System.Data命名空间属性说明Columns表示列的集合或DataTable包含的DataColumnConstraints表示特定DataTable的约束集合DataSet表示DataTable所属的数据集PrimaryKey表示作为DataTable主键的字段或DataColumnRows表示行的集合或DataTable包含的DataRowHasChanges返回一个布尔值,指示数据集是否更改了方法说明AcceptChanges提交对该表所做的所有修改NewRow添加新的DataRow事件说明ColumnChanged修改该列中的值时激发该事件RowChanged成功编辑行后激发该事件RowDeleted成功删除行时激发该事件DataTable、DataColumn和DataRow2DataTable、DataColumn和DataRow3DataTableobjStuTable=newDataTable(Student);创建DataTable对象的实例DataSetstuDS=newDataSet();DataTableobjStuTable=stuDS.Tables.Add(Student);创建DataTable的实例,然后将其添加到数据集的Tables集合中DataTable、DataColumn和DataRow4•DataColumn对象定义DataTable的列•DataTable的Columns属性含有对DataColumn对象的引用属性说明AllowDBNull表示一个值,指示对于该表中的行,此列是否允许null值ColumnName表示指定DataColumn的名称DataType表示指定DataColumn对象中存储的数据类型DefaultValue表示新建行时该列的默认值Table表示DataColumn所属的DataTable的名称Unique表示DataColumn的值是否必须是唯一的DataTableobjStuTable=newDataTable(Student);DataColumnobjStuNumber=objStuTable.Columns.Add(StuNo,typeof(Int32));objStuNumber.AllowDBNull=false;objStuNumber.DefaultValue=12;objStuTable.Columns.Add(StuName,typeof(string));objStuTable.Columns.Add(StuMarks,typeof(Double));使用多个DataColumn对象创建DataTableDataTable、DataColumn和DataRow5•DataRow对象表示DataTable中的实际数据属性说明Item表示DataRow的指定列中存储的值RowState表示行的当前状态Table表示用于创建DataRow的DataTable的名称方法说明AcceptChanges用于提交自上次调用了AcceptChanges之后对该行所做的所有修改DeleteDeletestheDataRow用于删除DataRowRejectChanges用于拒绝自上次调用了AcceptChanges之后对DataRow所做的所有修改//定义表结构,为Student表添加学号、姓名、分数三列DataTableobjStuTable=newDataTable(St

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功