




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章数据库开发技术 10 1一个简单的C 数据库应用程序10 2数据库系统与ADO NET概述10 3SQL语言简介10 4ADO NET对象10 5数据库操作举例 本章内容 10 1一个简单的C 数据库应用程序 10 1 1创建数据库和数据表 先创建数据库和数据表 具体操作如下 1 启动SQLServer2008ManagementStudio 选择左上角的 新建查询 快捷按钮 打开SQL代码编辑器 10 1一个简单的C 数据库应用程序 10 1 1创建数据库和数据表 2 创建数据库MyDatabase和数据表student 10 1一个简单的C 数据库应用程序 10 1 1创建数据库和数据表 创建数据库MyDatabase和数据表student的SQL代码如下 UseMaster GOCREATEDatabaseMyDatabase GOUseMyDatabase GOCREATETABLEstudent 学号char 8 PRIMARYKEY 姓名varchar 8 NOTNULL 性别char 2 CHECK 性别 男 OR性别 女 成绩numeric 4 1 CHECK 成绩 0AND成绩 100 GO 10 1一个简单的C 数据库应用程序 10 1 1创建数据库和数据表 INSERTINTOstudentVALUES 20102001 阎妮 女 98 INSERTINTOstudentVALUES 20102002 张有来 男 58 INSERTINTOstudentVALUES 20102003 王文喜 男 72 INSERTINTOstudentVALUES 20102004 赵敏 女 66 INSERTINTOstudentVALUES 20102005 罗莎 女 88 5 INSERTINTOstudentVALUES 20102006 蒙恬 男 93 GO 可视化创建数据库 表 及插入数据 操作中 约束 表达式 成绩 0 AND 成绩 100 表达式 性别 男 OR 性别 女 10 1一个简单的C 数据库应用程序 10 1 2创建数据库应用程序 1 创建C 窗体应用程序MyDBApp 在窗体上添加一个DataGridView控件和Button控件 并适当调整它们的大小和位置 10 1一个简单的C 数据库应用程序 10 1 2创建数据库应用程序 2 编写代码假设数据库服务器的名称为 SqlExpress 服务器采用Windows身份认证 则连接数据库MyDatabase并显示表student中数据的代码如下 privatevoidbutton1 Click objectsender EventArgse 设置连接字符串 stringsql server LOCALHOST SQLEXPRESS database MyDatabase IntegratedSecurity true stringsql DataSource AHUTCS 36 SQLEXPRESS Initialcatalog MyDatabase Persistsecurityinfo True UserID sa Password sa DataSetdataset newDataSet 创建数据集 创建一个新连接SqlConnectionconn newSqlConnection sql 10 1一个简单的C 数据库应用程序 10 1 2创建数据库应用程序 try 创建数据提供者SqlDataAdapterDataAdapter newSqlDataAdapter SELECT FROMstudent conn 填充数据集dataset 并为本次填充的数据起名 student table DataAdapter Fill dataset student table dataGridView1 DataSource dataset 在dataGridView1控件中显示名为student table的填充数据dataGridView1 DataMember student table catch Exceptionex MessageBox Show ex ToString finally conn Close conn Dispose dataset Dispose 10 1一个简单的C 数据库应用程序 10 1 2创建数据库应用程序 执行该程序 在运行界面上双击 浏览数据 按钮即可看到数据库MyDatabase中数据表student所包含的内容 SqlConnection和DataSet实际上是ADO NET组件包含的内容 因此要开发基于C 的数据库应用程序 需要对数据库及ADO NET组件有一定的了解 10 2数据库系统与ADO NET概述 10 2 1数据库系统 数据库系统 数据库和数据库管理系统 DBMS 之间的关系 数据库系统是一种引进了数据库的计算机系统 其组成部分主要包括硬件 软件 数据库 系统涉及的人员等 其中 软件包括数据库管理系统 DBMS 和支持DBMS运行的其他相关软件 以及基于DBMS的应用程序等 数据库管理系统则是数据库的 操作系统 是管理数据库的软件系统 如SQLServer2008 DB2 Oracle等都是数据库管理系统 数据库是多张数据表 table 的集合 每张数据表由若干行和若干列组成 一行称为一条记录 record row 一列称为一个字段 field 能唯一标识每条记录且不含空值 NULL 的一个或多个字段可以定义为主键 每张表至多有一个主键 可见 数据库系统是一个广泛的概念 凡是以数据库应用为核心的系统所涉及的部分都是它的组成部分 DBMS是数据库系统的一个组成部分 数据库则是DBMS管理的对象 10 2数据库系统与ADO NET概述 10 2 2ADO NET概述 ADO NET是在ADO的基础上发展而来的一种数据库访问接口 被认为是一个 跨时代的产品 它提供了平台互用性和可伸缩的数据访问功能 可以使用它来访问关系数据库系统 如SQLServer2005 Oracle 和其他许多具有OLEDB或ODBC提供程序的数据源 ADO NET只是一种接口 一种通道 要通过ADO NET访问数据库还需要有相应的操纵语言 而这种语言就是SQL语言 本章下部分将先简要介绍SQL语言的常用语句 然后再介绍ADO NET常用的几个对象 最后介绍如何使用这些对象操作数据库 10 3SQL语言简介 10 2 2ADO NET概述 SQL语言是关系数据库的标准查询语言 是面向非过程化的第四代语言 4GL SQL语言具有四大功能 数据查询 数据操纵 数据定义和数据控制 如下表所示 10 3SQL语言简介 10 3 1Select语句 Select语句用于查询数据表中的数据 其格式如下 SELECT字段列表FROM表名 Where查询条件 ORDERBY字段名 ASC DESC 其中 Where子句是可选项 如果没有Where子句 则表示查询表中所有的记录 否则查询表中满足查询条件的记录 ORDERBY子句用于排序查询结果 ASC表示升序 默认 DESC表示降序 查询所有记录例如 下列语句是查询表student中的所有数据 Select Fromstudent 符号 是代表所有的字段 此句也可以写成 Select学号 姓名 性别 成绩Fromstudent 10 3SQL语言简介 10 3 1Select语句 查询满足一定条件的记录如果要查询成绩在区间 60 70 内的学生 并列出他们的姓名和成绩信息 则可用下面的语句 Select姓名 成绩FromstudentWhere成绩 60and成绩 70 排序查询结果查询成绩及格的学生 并按照成绩降序显示查询结果 Select FromstudentWhere成绩 60ORDERBY成绩DESC DESC表示降序 ASC表示升序 默认设置 10 3SQL语言简介 10 3 1Select语句 模糊 查询 模糊 查询需要通过通配符来实现 通配符 可以匹配任意的字符串 例如 查询所有姓王的学生 SELECT FROMstudentWHERE姓名LIKE 王 通配符 则只能匹配一个字符 例如 查询姓王且姓名仅由两个字构成的学生 SELECT FROMstudentWHERE姓名LIKE 王 10 3SQL语言简介 10 3 1Select语句 分组查询例如 按性别分组查询男 女的人数 SELECT性别 count 人数FROMstudentGROUPBY性别 空值查询空值查询是指查询记录在某个字段上取值是否为NULL 例如 查询缺少成绩的学生 SELECT FROMstudentWHERE成绩ISNULL 10 3SQL语言简介 10 3 2Insert语句 该语句用于向数据表中添加数据 其格式如下 INSERT INTO 表名 字段列表 VALUES 字段值列表 其中 字段列表和字段值列表中的项要一一对应 如果字段列表是数据表的所有字段名列表 且字段名顺序与表定义时的字段名顺序一样 那么字段列表可以省略 例如 如果要将下列记录插入的数据表student中 20102001 阎妮 女 98 则可以使用 INSERTINTOstudentVALUES 20102001 阎妮 女 98 10 3SQL语言简介 10 3 3Update语句 该语句用于更新数据表中的数据 其格式如下 Update表名SET字段名1 值1 字段名2 值2 字段名n 值n Where更新条件 如果Update语句包含Where子句 则表示更新满足更新条件的记录的相关字段值 否则更新所有记录的相关字段值 例如 以下语句是对男同学的成绩减少5 UPDATEstudentSET成绩 成绩 成绩 0 05WHERE性别 男 10 3SQL语言简介 10 3 4Delete语句 该语句用于从数据表中删除部分或全部记录 格式如下 Delete FROM 表名 Where删除条件 如果省略Where子句 则表示删除表中的所有记录 否则删除满足删除条件的记录 例如 下列语句将删除表student中所有成绩不及格的学生记录 DeleteFromstudentWhere成绩 60 而下列语句则表示清空表student中的所有数据 DeleteFromstudent 10 4ADO NET对象 10 4 1ADO NET体系结构 ADO NET就是 NETFramework类库中用于实现对数据库中的数据进行操作的一些类的集合 它分为两个部分 DataSet对象 是内存中以 表格的形式 保存一批批的数据 也可以理解为若干张数据表 DataTable 的集合 每张数据表也有自己的 表名 数据提供者 包含许多针对数据源的组件 应用程序主要是通过这些组件来完成针对指定数据源的连接 提取数据 操作数据 执行数据命令 这些组件主要包括Connection Command DataReader和DataAdapter 10 4ADO NET对象 10 4 1ADO NET体系结构 ADO NET体系结构 10 4ADO NET对象 10 4 2Connection对象 Connection对象用于连接数据库 不同的数据库有不同的Connection对象 SQLServer数据库 SqlConnection对象Access数据库 OleDbConnection对象 创建连接到SQLServer数据库的Connection对象stringConnectionString DataSource mzq InitialCatalog MyDatabase PersistSecurityInfo True UserID sa Password sql2008 SqlConnectionconn newSqlConnection ConnectionString ConnectionString server LOCALHOST SQLEXPRESS database MyDatabase IntegratedSecurity true 创建连接到Access数据库的Connection对象stringConnectionString Provider Microsoft Jet OLEDB 4 0 DataSource C book mdb OleDbConnectionconn newOleDbConnection ConnectionString Provider 驱动程序DataSource 数据源 10 4ADO NET对象 10 4 2Connection对象 Connection对象有两个重要的方法 Open 方法 打开与数据库的连接Close 方法 关闭与数据库的连接如 conn Open conn Close 10 4ADO NET对象 10 4 3Command对象 该对象用于执行针对数据库的SQL命令 其常用属性有 Connection属性用于设置Command对象所依赖的连接对象 如 SqlCommandcommand newSqlCommand command Connection conn CommandText属性用于设置Command对象要执行的命令文本 如 command CommandText Select Fromstudent 10 4ADO NET对象 10 4 3Command对象 常用方法包括 构造函数有多个重载版本 以SqlCommand对象为例 其主要版本包括 publicSqlCommand publicSqlCommand stringcmdText publicSqlCommand stringcmdText SqlConnectionconnection 其中 第一构造函数用于创建一个SqlCommand对象 但没有做其他的初始化工作 第二个是在创建对象的同时用参数cmdText定义命令文本初始化 第三个则是在创建的同时用用参数cmdText定义命令文本和已有的SqlConnection对象初始化 10 4ADO NET对象 10 4 3Command对象 例如 假设strSQL已经定义如下 stringstrSQL INSERTINTOstudentVALUES 20102001 阎妮 女 98 且conn是已经创建的SqlConnection对象 则下面三组语句是等价的 第一组SqlCommandcommand newSqlCommand command Connection conn command CommandText strSQL 第二组SqlCommandcommand newSqlCommand strSQL command Connection conn 第三组SqlCommandcommand newSqlCommand strSQL conn 10 4ADO NET对象 10 4 3Command对象 ExecuteNonQuery 方法 处理数据方法之一 1该方法用于执行没有返回结果集的SQL语句 如建表语句 Insert Update Delete语句等 这些命令的文本是在CommandText属性中设置的 其返回结果是执行命令后受到影响的行数 例如 stringConnectionString server LOCALHOST SQLEXPRESS database MyDatabase IntegratedSecurity true SqlConnectionconn newSqlConnection ConnectionString stringstrSQL INSERTINTOstudentVALUES 20102001 阎妮 女 98 SqlCommandcommand newSqlCommand command Connection conn command CommandText strSQL conn Open intn command ExecuteNonQuery 执行SQL语句ExecuteReader 方法执行有返回结果的SQL语句 Select 讲结果放在DataReader对象中 10 4ADO NET对象 10 4 4DataReader对象2 DataReader对象的优点 执行效率高 在体积和开销上它比数据集小 占用内存少DataReader对象的缺点 在读取数据时它与服务器的连接始终是打开的 它只能以单向向前的次序访问记录 所以仅用于数据检索等功能非常单一的设计中 DataReader对象常用的属性和方法包括 FieldCount属性返回字段的数目 10 4ADO NET对象 10 4 4DataReader对象 CLose 方法用于关闭DataReader对象 GetFileType n 方法返回第n 1列的数据类型 GetName n 方法返回n 1列的字段名称 GetValue intn 方法返回当前行中第n 1列的内容 由Read 方法决定当前行 Read 方法把记录指针往下一行移动 如果下一行没有了 则返回false 否则返回true 使用该方法可以从查询结果中读取数据 10 4ADO NET对象 10 4 4DataReader对象 例如 下面代码先利用Command对象执行Select语句 并将返回的结果集放到DataReader对象中 然后利用DataReader对象提供的属性和方法逐行 逐项提取结果集中的数据 并显示到ListBox对象中 stringConnectionString server LOCALHOST SQLEXPRESS database MyDatabase IntegratedSecurity true SqlConnectionconn newSqlConnection ConnectionString stringstrSQL SELECT FROMstudent SqlCommandCommand newSqlCommand strSQL conn conn Open SqlDataReaderreader Command ExecuteReader 结果集放到reader对象中object row newobject reader FieldCount while reader Read true reader GetValues row 获取结果集的当前行for inti 0 i reader FieldCount i listBox1 Items Add row i ToString 将逐项输出行中的项 listBox1 Items Add 10 4ADO NET对象 10 4 5DataAdapter对象3 DataAdapter对象除了可以实现DataReader对象的功能以外 还可以执行对数据库的插入 更新和删除等操作 其功能要比DataReader对象的功能强得多 要与DataSet对象结合使用 但强功能的实现就意味着要付出更多的机器资源 使用起来就显得特别 man 因此 如果DataReader对象已经能完成的任务就不必使用DataAdapter对象 10 4ADO NET对象 10 4 5DataAdapter对象 DataAdapter对象的主要属性和方法包括 构造函数DataAdapter对象的构造函数有四个重载版本 publicSqlDataAdapter publicSqlDataAdapter SqlCommandselectCommand publicSqlDataAdapter stringselectCommandText SqlConnectionselectConnection publicSqlDataAdapter stringselectCommandText stringselectConnectionString 其中 参数selectCommand用于设置实现Select语句的命令对象 SqlCommand类型 selectCommandText用于设置Select语句文本 selectConnection用于设置连接对象 10 4ADO NET对象 10 4 5DataAdapter对象 例如 下面四组语句是等价的 其作用都是从数据表student提取所有的数据 第一组SqlDataAdapterDataAdapter newSqlDataAdapter DataAdapter SelectCommand cmd 第二组SqlDataAdapterDataAdapter newSqlDataAdapter cmd 第三组SqlDataAdapterDataAdapter newSqlDataAdapter strSQL conn 第四组SqlDataAdapterDataAdapter newSqlDataAdapter strSQL ConnectionString 10 4ADO NET对象 10 4 5DataAdapter对象 SelectCommand属性获取或设置一个SQL语句或存储过程 用于在数据源中选择一个记录集 例如 执行下列代码后 将数据表student中的数据提取到DataAdapter对象中 stringConnectionString DataSource mzq InitialCatalog MyDatabase PersistSecurityInfo True UserID sa Password sql2008 SqlConnectionconn newSqlConnection ConnectionString conn Open SqlCommandcmd newSqlCommand cmd Connection conn cmd CommandText SELECT FROMstudent SqlDataAdapterDataAdapter newSqlDataAdapter DataAdapter SelectCommand cmd 10 4ADO NET对象 10 4 5DataAdapter对象 Fill 方法执行SelectCommand中的查询 并将结果填充到DataSet对象的一个数据表 DataTable 中 DataSet对象可以理解为元素为DataTable类型的数组 每次填充时是按照既定的设置将结果集填充到对应的元素中 该方法有多个重载版本 其中常用的有两种 Fill DataSetdataset Fill DataSetdataset stringsrcTable 其中 参数srcTable是用于设置所填充的数据表的名称 例如 下列语句都是将DataAdapter中的数据填充到dataset对象中 但这两次填充分别位于dataset对象不同的两个数据表中 表名分别为t1和t2 DataAdapter Fill dataset t1 DataAdapter Fill dataset t2 10 4ADO NET对象 10 4 5DataAdapter对象 Update 方法该方法向数据库提交存储在DataSet 或DataTable DataRows 中的更改 该方法会返回一个整数值 表示成功更新的记录的数量 但在执行该方法之前 要先形成相应的Update语句 语句文本保存在UpdateCommand属性中 Update语句的生成可有SqlCommandBuilder的构造函数自动完成 例如 SqlCommandBuilderbuilder newSqlCommandBuilder DataAdapter DataAdapter Update dataset Table 内存表 DB 10 4ADO NET对象 10 4 6DataSet对象 每一个DataSet对象通常是一个或多张数据表 DataTable对象 的集合 当DataAdapter对象将数据填充到DataSet对象以后 就可以利用DataSet对象提供的属性和方法对数据进行操作 这些操作可以是查询记录 添加记录 修改记录和删除记录 并通过DataAdapter对象的Update 方法可以将对记录的更新结果提交到数据库中 以下介绍DataSet对象的数据提取和更新功能 1 获取DataSet对象中所有的数据表 DataTable对象 下面代码是获取对象dataset中的所有数据表 for inti 0 i dataset Tables Count i DataTabledt dataset Tables i 获取所有的数据表listBox1 Items Add dt ToString 将表名输出到listBox1中 其中 dataset Tables Count返回dataset中表的数量 dataset Tables i 返回索引为i的数据表 DataTable对象 双向 10 4ADO NET对象 10 4 6DataSet对象 3 提取指定数据表中的所有数据项下面代码是提取对象dataset中数据表t2的所有数据项 for inti 0 i dataset Tables t2 Rows Count i DataRowdr dataset Tables t2 Rows i 获取索引为i的行strings for intj 0 j dataset Tables t2 Columns Count j s dr j ToString t 获取行dr中索引为j的数据项 listBox1 Items Add s 其中 dataset Tables t2 Rows Count返回表t2的行数 dataset Tables t2 Rows i 返回索引为i的行 dataset Tables t2 Columns Count返回表的列数 10 4ADO NET对象 10 4 6DataSet对象 绑定方法 利用控件的DataBindings属性的Add方法把DataSet中某一个数据表中的某一行和组件的某个属性绑定起来 从而达到显示数据的效果 例如 下列语句将dataset中表t2的 姓名 字段绑定到控件textBox1的Text属性中 textBox1 DataBindings Add Text dataset t2 t name 4 数据绑定绑定方法 将数据绑定到DataGridView控件中 即将控件的DataSource属性值设置为相应的DataSet对象 将控件的DataMember属性值设置为DataSet对象中的表名 例如 下列语句是将dataset中数据表t2中的数据显示到控件dataGridView1中 dataGridView1 DataSource dataset dataGridView1 DataMember t2 10 4ADO NET对象 10 4 6DataSet对象 例10 1 DataSet对象的使用方法 本例将综合上面介绍有关DataSet对象的使用方法 该程序要展示的功能是 将两个数据源 对应数据库MyDatabase中的表student和表teacher 的数据分别填充到DataSet对象中 形成该对象中的两个表t1和表t2 然后提取t1的所有字段名以及t1中所有的数据项 并显示在listBox1控件中 最后将t2绑定到dataGridView1控件并显示t1中的数据 同时将表t2中的字段姓名绑定到textBox1并显示该字段的数据项 10 4ADO NET对象 10 4 6DataSet对象 创建步骤如下 1 创建窗体应用程序DataSetApp 在窗体上添加Button TextBox DataGridView和ListBox 并适当设置它们的属性 位置和大小 10 4ADO NET对象 10 4 6DataSet对象 创建步骤如下 2 编写代码 以下是核心代码 privatevoidbutton1 Click objectsender EventArgse SqlConnectionconn null SqlDataAdapterDataAdapter null DataSetdataset null try stringConnectionString DataSource mzq InitialCatalog MyDatabase PersistSecurityInfo True UserID sa Password sql2008 conn newSqlConnection ConnectionString conn Open DataAdapter newSqlDataAdapter dataset newDataSet SqlCommandcmd newSqlCommand cmd Connection conn cmd CommandText SELECT FROMstudent DataAdapter SelectCommand cmd DataAdapter Fill dataset t1 第一次填充 10 4ADO NET对象 10 4 6DataSet对象 cmd CommandText SELECT FROMteacher DataAdapter SelectCommand cmd DataAdapter Fill dataset t2 第二次填充strings 获取表t1中的所有列名for inti 0 i dataset Tables t1 Columns Count i s dataset Tables t1 Columns i ToString t listBox1 Items Add s 提取表t1中的数据项for inti 0 i dataset Tables 0 Rows Count i DataRowdr dataset Tables 0 Rows i s for intj 0 j dataset Tables 0 Columns Count j s dr j ToString t listBox1 Items Add s 10 4ADO NET对象 10 4 6DataSet对象 将表t2中的字段t name绑定到textBox1textBox1 DataBindings Add Text dataset t2 t name 将dataset绑定到dataGridView1dataGridView1 DataSource dataset 在dataGridView1中显示表t2中的数据dataGridView1 DataMember t2 catch Exceptionex MessageBox Show ex Message finally if conn null conn Dispose if dataset null dataset Dispose if DataAdapter null DataAdapter Dispose 10 4ADO NET对象 10 4 6DataSet对象 该程序的运行结果 10 5数据库操作举例 10 5 1数据检索 数据检索是指按照既定的检索条件查询满足要求的记录的过程 请考虑下面的例子 例10 2 数据检索的例子 创建窗体应用程序DataSearching 在窗体上添加Label控件和ComboBox控件各两个 TextBox Button和DataGridView控件各一个 并适当设置它们的相关属性 大小和位置 10 5数据库操作举例 10 5 1数据检索 数据检索是指按照既定的检索条件查询满足要求的记录的过程 请考虑下面的例子 例10 2 数据检索的例子 核心代码 publicpartialclassForm1 Form privatestringConnectionString DataSource mzq InitialCatalog MyDatabase PersistSecurityInfo True UserID sa Password sql2008 privateSqlConnectionconn null privateSqlDataAdapterDataAdapter null privateDataSetdataset null privateSqlCommandcmd null publicForm1 InitializeComponent 数据库连接字符串 10 5数据库操作举例 10 5 1数据检索 数据检索是指按照既定的检索条件查询满足要求的记录的过程 请考虑下面的例子 例10 2 数据检索的例子 核心代码 privatevoidbutton1 Click objectsender EventArgse stringtb1 textBox1 Text if comboBox2 Text like tb1 textBox1 Text stringstrSQL SELECT FROMstudentWhere strSQL comboBox1 Text comboBox2 Text tb1 try cmd CommandText strSQL DataAdapter SelectCommand cmd dataset Clear DataAdapter Fill dataset t1 dataGridView1 DataSource dataset dataGridView1 DataMember t1 构建查询语句 10 5数据库操作举例 10 5 1数据检索 数据检索是指按照既定的检索条件查询满足要求的记录的过程 请考虑下面的例子 例10 2 数据检索的例子 核心代码 catch MessageBox Show 请正确设置检索条件 finally if conn null conn Close 10 5数据库操作举例 10 5 1数据检索 privatevoidForm1 Load objectsender EventArgse try conn newSqlConnection ConnectionString conn Open DataAdapter newSqlDataAdapter dataset newDataSet cmd newSqlCommand cmd Connection conn cmd CommandText SELECT FROMstudent DataAdapter SelectCommand cmd DataAdapter Fill dataset t1 comboBox1 Items Clear 先获取所有的字段 以用于构造查询条件for inti 0 i comboBox2 Items Add like catch Exceptionex MessageBox Show ex Message 10 5数据库操作举例 10 5 1数据检索 运行该程序 10 5数据库操作举例 10 5 2数据添加 例10 3 数据添加的例子 创建窗体应用程序DataInserting 在窗体上添加Label控件和TextBox控件各四个 Button和DataGridView控件各一个 并适当设置它们的相关属性 大小和位置 10 5数据库操作举例 10 5 2数据添加 核心代码 privatevoidshowData 在控件dataGridView1显示数据 try conn Open DataAdapter newSqlDataAdapter SELECT FROMstudent conn dataset newDataSet DataAdapter Fill dataset dataGridView1 DataSource dataset dataGridView1 DataMember dataset Tables 0 ToString catch Exceptionex MessageBox Show ex ToString finally conn Close dataset Dispose 10 5数据库操作举例 10 5 2数据添加 privatevoidbutton1 Click objectsender EventArgse stringstrSQL INSERTINTOstudentVALUES strSQL textBox1 Text strSQL textBox2 Text strSQL textBox3 Text strSQL textBox4 Text SqlCommandcommand null try command newSqlCommand command Connection conn command CommandText strSQL conn Open intn command ExecuteNonQuery 执行Insert语句if n 0 MessageBox Show 成功插入数据 catch Exceptionex MessageBox Show ex Message 10 5数据库操作举例 10 5 2数据添加 finally if conn null conn Close command Dispose showData privatevoidForm1 Load objectsender EventArgse conn newSqlConnection ConnectionString showData 10 5数据库操作举例 10 5 3数据更新 例10 4 数据更新的例子 数据更新有很多种方式 在这里我们提供两种修改方式 a 一种是直接修改在DataGridView控件中以表格显示的数据 b 当点击DataGridView控件中的数据行时 该行中的数据项分别显示在下方的文本框中 可以在这些文本框中修改这些数据 显然 前者是通过DataAdapter对象 结合DataSet 的Update方法来实现 后者通过Command对象来完成 10 5数据库操作举例 10 5 3数据更新 创建窗体应用程序DataUpdating 在窗体上添加DataGridView TextBox Button等控件 并适当设置它们的属性 位置 大小 10 5数据库操作举例 10 5 3数据更新 关键代码 privatevoidshowData2 在控件dataGridView1显示数据 stringtname try if conn null conn Open DataAdapter newSqlDataAdapter SELECT FROMstudent conn dataset newDataSet DataAdapter Fill dataset dataGridView1 DataSource dataset dataGridView1 DataMember dataset Tables 0 ToString tname dataset Tables 0 ToString 先清除所有绑定 然后再重新绑定textBox1 DataBindings Clear textBox2 DataBindings Clear textBox3 DataBindings Clear textBox4 DataBindings Clear textBox1 DataBindings Add Text dataset table 学号 数据绑定textBox2 DataBindings Add Text dataset table 姓名 textBox3 DataBindings Add Text dataset table 性别 textBox4 DataBindings Add Text dataset table 成绩 catch Exceptionex MessageBox Show ex ToString 10 5数据库操作举例 10 5 3数据更新 通过文本框更新数据 按钮privatevoidbutton1 Click objectsender EventArgse 构造Update语句stringstrSQL Updatestudentset strSQL 姓名 textBox2 Text strSQL 性别 textBox3 Text strSQL 成绩 textBox4 Text strSQL Where学号 textBox1 Text i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宠物美容师高级面试题
- 2025年药物滥用公共卫生安全教育题及答案
- 2025年人际关系心理学考试试题及答案解析
- 2025年宠物动物营养学初级考试重点题
- 2025年建筑工程师执业资格考试试题及答案解析
- 2025年家政服务管理师职业资格考试试题及答案解析
- 2025年安全生产培训题库及模拟测试
- 2025年电子竞技行业入门初级面试预测题解析
- 2025年养老机构等级评定预测题
- 2025年公共关系执行师专业知识考试试题及答案解析
- 2025年CAD机械制图考试题库及答案
- 云南省澜沧拉祜族自治县2025年上半年事业单位公开招聘教师岗试题含答案分析
- 2025工会基础知识考试题库及参考答案
- 2024广西公需课高质量共建“一带一路”谱写人类命运共同体新篇章答案
- 完整的离婚协议书打印电子版(2025年版)
- 转岗申请表(标准样本)
- 中医病证诊断疗效标准
- 数独课件完整版
- GA 568-2022警服夏执勤短袖衬衣
- 淮扬菜-淮安淮扬菜名单大全
- 2021年秋期新人教版部编本六年级语文上册教材解读
评论
0/150
提交评论