SQL简单数据库编程详细教程.ppt

上传人:小飞机 文档编号:5449429 上传时间:2023-07-08 格式:PPT 页数:58 大小:326KB
返回 下载 相关 举报
SQL简单数据库编程详细教程.ppt_第1页
第1页 / 共58页
SQL简单数据库编程详细教程.ppt_第2页
第2页 / 共58页
SQL简单数据库编程详细教程.ppt_第3页
第3页 / 共58页
SQL简单数据库编程详细教程.ppt_第4页
第4页 / 共58页
SQL简单数据库编程详细教程.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《SQL简单数据库编程详细教程.ppt》由会员分享,可在线阅读,更多相关《SQL简单数据库编程详细教程.ppt(58页珍藏版)》请在三一办公上搜索。

1、第一节:数据库的基本操作,创建数据库创建数据表修改数据表删除数据表,返回,第三节:SQL的简单介绍,为方便下面SQL语句的讲解,在这儿我们假定在数据库中已经存在一个存放学生信息 的数据库(Student),其中有一个学生入学信息表(Students),其表结构见下表:,第三节:SQL的简单介绍,知识架构:1.数据查询select语句2.插入数据insert语句3.更新数据Update语句4.删除数据DELETE语句,返回,第三节:SQL的简单介绍,3.1数据查询select语句:SQL的查询语句也称作SELECT 命令,多个查询块可以逐层嵌套执行。SQL的查询可以很方便的从一个表或多个表中检索

2、数据,查询是高度非过程化的,用户值需要表明“要干什么”,而不需要说明“怎么去干”。系统将自动对查询过程进行优化,可以实现对大多数数据库和多个关联数据库的高速存取。其最大的优点是查询速度快。,第三节:SQL的简单介绍,用户要讲清楚“要干什么”,需要把询问用语规定的查询格式表示出来。标准的SQL基本查询结构是:SELECT,.FROM,WHERE;其中SELECT子句中用逗号分开的表达式为查询目标。最常用也是最简单的格式是用逗号分开的属性名。FROM指出上述查询不表以及WHERE子句所涉及到的相关的关系名(表名等)。WHERE子句查询目标必须满足的条件,系统会根据条件进行选择运算,输出条件为真的元

3、素集合。如果不需要指出条件,则可以省略WHERE子句。,第三节:SQL的简单介绍,首先我们的数据表Students如图所示:,图 Students数据表,第三节:SQL的简单介绍,例:从学生信息表中查出性别为“男”的所有学生的信息。其查询语句应写为:select*from Students where Sex=男结果显示:,第三节:SQL的简单介绍,如要查询性别为男的所有同学的学号和姓名两项信息,可以用一下方式:select StudentID,Name from Students where Sex=男查询结果如图:当然要查询所有同学的相关信息就可以省略WHERE子句。,返回,第三节:SQL

4、的简单介绍,3.2插入数据insert语句:Insert 语句的作用是向数据表中添加数据。其语法结构是:INSERT INTO(字段1,字段2字段n)VALUES(插入值1,插入值2插入值n);其INSERT INTO后所跟需要插入值的表名。(字段1,字段2字段n)是要插入值的字段。大括号表示可有省略,当数据表里的字段全部都要插入数据时,就可以省略。VALUES关键字后的括号里跟的是插入表中字段的值,它的顺序必须和前面列出的字段一一对应。如果字段名省略了,就必须和数据表里的字段一一对应。,第三节:SQL的简单介绍,例:向学生信息表插入一条数据:INSERT INTO Students VALU

5、ES(6,李爽,男,4,1990-1-1,四川成都)其查询结果下图所示:由于本表设计时所有字段均不能为空,所以在此处必须插入所有字段,根据表的设计,读者也可以根据自己的需要只插入部份字段的值。,返回,第三节:SQL的简单介绍,3.3更新数据Update语句:UPDATE 语句的作用是修改数据库中的数据。其语法结构为:UPDATE SET WHERE;,第三节:SQL的简单介绍,例:若要将学号为6的李爽同学的籍贯进行修改;UPDATE Students SET Native=重庆WHERE StudentID=6执行该语句后再用下面的SELECT语句进行查询SELECT*FROM Student

6、s 可以看到已经更新的数据,如下图所示:,返回,第三节:SQL的简单介绍,3.4删除数据DELETE语句:删除命令比较简单,删除的单位是元素组,而不是部分字段值。一次可以删除一个、几个,甚至可以将整个表删成空表。只保留表的设计结构。如果要删除某个字段的值,就用需要update将这个字段的值修改为空值。其语法结构:DELETEFROMWHERE;DELETE语句跟其他的语句一样可以省略WHERE子句,但是DELETE省略的话将会将整个表全部删除。如果不是删除全表一定不要忘了WHERE子句。,第三节:SQL的简单介绍,例:删除学号6同学的所有信息。DELETE FROM Students WHER

7、E StudentID=6;执行该语句后再用下面的SELECT语句进行查询。SELECT*FROM Students可以看到删除学号6后的数据,执行操作后的查询结果如下图:,返回,第14章 简单数据库编程,本章要点:数据库的基本概念 ADO.NET的基本概念.NET Framework数据提供程序 ADO.NET对象 ADO.NET数据控件 ADO.NET数据库编程方法,14.1 循序渐进学理论,14.1.1 数据库的基本概念 1数据库应用概述 2数据库的基本概念 所谓数据库(Database DB),其实就是存放在计算机的外存储器中的相关数据的集合,可以形象地看作是数据的“仓库”,它是通过文

8、件或类似于文件的数据单位组织起来的。3数据模型与关系数据库,14.1.2 ADO.NET概述,ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。是在.NET编程环境中优先使用的数据访问接口.1.NET Framework数据提供程序(1)SQL Server.NET数据提供程序(2)OLE DB.NET数据提供程序-Object Link and embed,即对象连接与嵌入.是通向不同的数据源的低级应用程序接口。(3).NET数据提供程序模型的核心对象.NET数据提供程序提供了四个核心对象,分别是Con

9、nection、Command、DataReader和DataAdapter 对象。,3使用ADO.NET开发数据库应用程序的一般步骤,(1)根据使用的数据源,确定使用的.NET Framework数据提供程序;(2)建立与数据源的连接,需使用Connection对象;(3)执行对数据源的操作命令,通常是SQL命令,需使用Command对象;(4)使用数据集对获得的数据进行操作,需使用DataReader、DataSet等对象;(5)向用户显示数据,需使用数据控件。,2DataSet数据集,DataSet的对象模型,14.1.4 ADO.NET对象及其编程,1SqlConnection对象及其

10、使用功能:建立与特定数据源的连接。一般该对象不会单独使用,而是与其他ADO.NET对象一起使用,是其他ADO.NET对象的重要组成部分。使用步骤1、声明一个SqlConnection对象2、设置SqlConnection对象对象的ConnectionString属性3、调用SqlConnection对象对象的Open方法,打开数据库连接4、进行数据库操作5、调用SqlConnection对象对象的Close方法,关闭数据库连接,例14-1编写一个用来测试连接的应用程序,用来建立与SQL Server数据库Student的连接。程序的设置界面如图14-3所示,程序的运行界面如图14-4所示。,图

11、14-3 程序设计界面,图14-4 程序运行界面,使用示例SqlConnection conn=new SqlConnection();conn.ConnectionString=”server=s20227SQLEXPRESS;database=Student;integrated security=true”;conn.Open();MessageBox.Show(已正确建立连接);conn.Close();,说明:ConnectionString属性是SqlConnection最关键的属性,它记录了用于打开 SQL Server 数据库的字符串,以若干个“key=value”的形式组成,

12、中间用分号间隔 SQL Server 数据库连接字符串中,Integrated Security=SSPI 表示使用 Windows 身份验证,即使用运行当前应用程序的用户来连接 SQL Server.其中安全支持提供者接口(SSPI)是一组用于微软 Windows 平台接入安全服务的应用程序接口(APIs)。SqlConnectionconn=new SqlConnection(Server=.;DataBase=Student;UID=sa;PWD=;);_SQL Server验证方式,2SqlCommand对象及其使用,(1)SqlCommand对象的常用属性 功能:表示要对 SQL S

13、erver 数据库执行的一个 Transact-SQL 语句或存储过程。当创建 SqlCommand 的实例时,读/写属性将被设置为它们的初始值。,(2)SqlCommand对象的常用方法 ExecuteNonQuery方法 格式:public int ExecuteNonQuery();功能:执行T-SQL Insert,Delete,Update及Set语句等命令,返回受影响的行数。ExecuteReader方法 格式:public OleDbDataReader ExecuteReader();功能:执行返回行的命令。,使用步骤1、声明一个SqlConnection对象2、设置SqlCo

14、nnection对象对象的ConnectionString属性3、调用SqlConnection对象对象的Open方法,打开数据库连接4、声明一个SqlCommand对象5、设置SqlCommand对象的Connection为SqlConnection对象6、设置SqlCommand对象的CommandText属性(SQL语句)7、根据SQL语句的不同性质,调用相应的Execute*方法8、调用SqlConnection对象对象的Close方法,关闭数据库连接,【例14-2】已知在应用程序当前目录下,有一个名为Student的数据库,该数据库中有一个名为student的表,表中的数据如图14-

15、5所示。请使用SqlCommand对象执行SQL命令向表中插入一个学生的信息,学生数据如下:6 张和平 男 1 1985-7-28 安徽无为 插入后,student表中的内容如图14-6所示。,图14-5 插入前的student表中的数据,图14-6 插入后的student表中的数据,实例代码,SqlConnection con=new SqlConnection();con.ConnectionString=”server=s20227SQLEXPRESS;database=Student;integrated security=true;conn.Open();SqlCommand cmd

16、=new SqlCommand();cmd.Connection=conn;cmd.CommandText=”insert into Students values(6,张一,女,5,1981-1-1,上海);cmd.ExecuteNonQuery();conn.Close();,3SqlDataReader对象及其使用,SqlDataReader:提供一种从 SQL Server 数据库读取行的只进流的方式。若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。在使用 SqlDataReader 时,关联的 S

17、qlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。例如,在调用 Close 之前,无法检索输出参数。,(1)SqlDataReader对象的常用属性 FieldCount属性 功能:获取当前行中的列数 RecordsAffected属性 功能:获取执行SQL语句更改,删除或插入的行数,(2)SqlDataReader对象的常用方法 Read方法 格式:public bool Read();功能:使SqlDataReader前进

18、到下一条记录 NextResult方法 格式:public bool NextResult();功能:当读取批处理语句的结果时,使数据读取器前进到下一个结果 Close方法 格式:public void Close();功能:关闭SqlDataReader对象 Get方法 格式:public Get(int ordinal);,使用流程1.定义SqlConnection对象2.定义SqlCommand对象3.设置SqlCommand对象的CommandText属性,一般为Select语句4.打开SqlConnection对象5.通过执行SqlCommand对象的ExecuteReader方法,

19、返回一个SqlDataReader对象6.使用while循环,读取返回结果列表的每一行7.在while循环体内,根据字段类型使用相应的Get方法,获取每个字段的值8.对获取的数据进行处理9.关闭SqlDataReader对象10.关闭SqlConnection对象,【例14-3】已知在应用程序当前目录下,有一个名为Student的数据库,该数据库中有一个名为student的表。请编写一个程序用来从该表中读取所有男生的数据,并显示出来。程序的设计界面如图14-7所示,程序的运行界面如图14-8所示。程序运行时单击【连接并读取】按钮,将会把所有男生的数据显示在窗体上。,图14-7 程序设计界面,图

20、14-8 程序运行界面,实例代码,SqlConnection con=new SqlConnection();con.ConnectionString=server=s20227SQLEXPRESS;database=Student;integrated security=true;con.Open();SqlCommand cmd=new SqlCommand();cmd.Connection=con;cmd.CommandText=select*from Students where Sex=男;SqlDataReader sdr=cmd.ExecuteReader();string me

21、ss=;while(sdr.Read()mess+=sdr0.ToString()+sdr1.ToString()+sdr2.ToString()+sdr3.ToString()+sdr4.ToString()+sdr5.ToString()+n;MessageBox.Show(mess);sdr.Close();con.Close();,4SqlDataAdapter对象及其使用,表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。Sql

22、DataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。,当 SqlDataAdapter 填充 DataSet 时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 SQL Server 数据库时提高性能。SqlDataAdapter 还包括 SelectCommand、InsertComma

23、nd、DeleteCommand、UpdateCommand 和 TableMappings 属性,以便于数据的加载和更新。,(1)SqlDataAdapter对象的常用属性 SelectCommand属性:用于在数据源中选择记录 InsertCommand属性:用于在数据源中插入记录 UpdateCommand属性:用于在数据源中更新记录 DeleteCommand属性:用于在数据源中删除记录,(2)SqlDataAdapter对象的常用方法 Fill方法 格式:public int Fill(DataSet dataSet,string srcTable);功能:填充DataSet或Dat

24、aTable Update方法 格式1:public override int Update(DataSet dataSet);格式2:public override int Update(DataSet dataSet,string Table);功能:为DataSet中每个已插入、已更新或已删除的行调用相应的INSERT,UPDATE,DELETE语句,5DataSet对象及其使用,DataSet(数据集)对象:数据集是包含数据表的对象,可以在这些数据表中临时存储数据以便在应用程序中使用。如果应用程序要求使用数据,则可以将该数据加载到数据集中,数据集在本地内存中为应用程序提供了待用数据的缓

25、存。即使应用程序从数据库断开连接,也可以使用数据集中的数据。数据集维护有关其数据的更改的信息,因此可以跟踪数据更新,并在应用程序重新连接时将更新发送回数据库,(1)DataSet对象的组成 最重要的是DataTableCollection(数据表集合),包括若干个DataTable对象(2)DataSet对象的填充 可以使用SqlDataAdapter对象的Fill方法进行构造(3)DataSet对象的访问 格式1:数据集对象名.Tables“数据表名”.Rowsn“列名”格式2:数据集对象名.Tables“数据表名”.Rowsn.ItemsArrayk,假设有一个DataSet对象ds访问D

26、ataTable对象:DataTable dt1=ds.Tables0;/根据索引DataTable dt2=ds.Tables“用户”;/根据表名访问DataRow对象DataRow dr1=dt1.Rows0;/根据索引DataRow dr2=dt1.Rows“密码”;/根据字段名,(4)向DataSet对象中添加行(5)从DataSet对象中删除行(6)修改DataSet对象中的数据(7)利用DataSet对象更新数据源,【例14-4】使用DataAdapter和DataSet对象重新实现例14-3的功能。,使用流程1.定义SqlConnection对象2.定义SqlCommand对象3

27、.设置SqlCommand对象的CommandText属性,一般为Select语句4.打开SqlConnection对象5.定义SqlDataAdapter对象,以SqlCommand对象做构造初始值6.定义DataSet对象7.使用SqlDataAdapter对象的Fill方法填充数据集8.获取数据集中的数据进行处理9.关闭SqlConnection对象,实例代码:,SqlConnection con=new SqlConnection(server=dmt403SQLEXPRESS;database=Student;integrated security=true);/con.Connec

28、tionString=server=s20227SQLEXPRESS;database=Student;integrated security=true;SqlCommand cmd=new SqlCommand(select*from Students,con);/cmd.Connection=con;/cmd.CommandText=select*from Students;con.Open();SqlDataAdapter sda=new SqlDataAdapter(cmd);DataSet ds=new DataSet();sda.Fill(ds,Students);dataGrid

29、View1.DataSource=ds.TablesStudents;con.Close();,14.3 上机练习重应用,14.3.1 上机练习一:按照姓名模糊查询程序【练习题目】编写一个按照姓名模糊查询的程序,程序使用的数据依旧是Student数据库中的Student表。程序的设计界面如图14-26所示,程序的运行界面如图14-27所示。程序执行时,在文本框中输入姓名的前若干个字符,然后按【查询】按钮,则在DataGrid控件中显示出满足条件的记录。,图14-26 程序设计界面,图14-27 程序运行界面,textBox9的TextChanged事件:SqlConnection con=ne

30、w SqlConnection();con.ConnectionString=server=dmt403SQLEXPRESS;database=Student;integrated security=true;SqlCommand cmd=new SqlCommand();cmd.Connection=con;cmd.CommandText=select*from Students;con.Open();SqlDataAdapter sda=new SqlDataAdapter(cmd);DataSet ds=new DataSet();sda.Fill(ds,Students);foreac

31、h(DataRow dr in ds.TablesStudents.Rows)textBox9.AutoCompleteCustomSource.Add(drName.ToString();,SqlConnection con=new SqlConnection();con.ConnectionString=server=dmt403SQLEXPRESS;database=Student;integrated security=true SqlCommand cmd=new SqlCommand();cmd.Connection=con;cmd.CommandText=select*from

32、Students where Name=+textBox9.Text+;con.Open();SqlDataAdapter sda=new SqlDataAdapter(cmd);DataSet ds=new DataSet();sda.Fill(ds,Students);dataGridView1.DataSource=ds.Tables0;,查询:,14.1.5 利用ADO.NET控件编写数据库应用程序,1ADO.NET数据控件,ADO.NET数据控件,1数据绑定控件,(1)数据绑定的概念 数据绑定的含义是使控件和数据源捆绑在一起,通过控件来显示或修改数据。(2)简单数据绑定的方法【例14

33、-6】已知在应用程序当前目录下,有一个名为Student.mdb的数据库,该数据库中有一个名为student的表,请编写一个浏览该数据表的程序,程序的设计界面如图14-22所示,程序的运行界面如图14-23所示。程序运行时单击相应按钮,将在界面上显示相应记录的内容。,图14-22 程序设计界面,图14-23 程序运行界面,(3)DataGrid控件,运行时绑定可通过调用DataGrid控件的SetDataBinding方法来实现.格式:public void SetDataBinding(object dataSource,string dataMember);,14.2 典型实例练能力,14.2.1 典型实例一:学生信息综合管理【实例题目】已知在应用程序当前目录下,有一个名为Student的数据库,该数据库中有一个名为student的表,请编写一个对Student表进行综合维护的程序。程序的设计界面如图14-24所示,程序的运行界面如图14-25所示。程序运行时单击相应的功能按钮将实现相应的功能。要求显示数据的文本框控件不得与字段绑定,使用编程的方法来处理显示。,图14-24 程序设计界面,图14-25 程序运行界面,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号