基于ADO.NET技术访问SQL Server数据库的实现

2021-11-20 09:45宁雪梅
电子技术与软件工程 2021年15期
关键词:商品信息仓库语句

宁雪梅

(广西英华国际职业学院 广西壮族自治区钦州市 535000)

1 前言

随着计算机高速发展,使用计算机技术对数据进行管理与共享已经广泛应用在各行各业中, 而设计与开发各种管理系统,需要借助数据库访问技术对数据库进行访问。其中ADO.NET是微软提供的一个工具,可以帮助开发人员在程序中使用SQL语句来操作数据,将SQL语句交给ADO.NET的相关对象,由该对象负责与数据库进行沟通来执行相关的操作。由于ADO.NET技术在操作上简单和容易上手,从而被越来越多的软件开发人员所青睐。 接下来本文将以仓库管理系统为例,给出ADO.NET技术实现访问SQL Server 数据库的一般方法和步骤。

2 ADO.NET五大对象

为了能在 .NET 平台访问SQL Server数据库,ADO.NET 提供了五大对象来操作数据库中的数据 ,分别有SqlConnection类、SqlCommand类、SqlDataReader类、SqlDataAdapter类、DataSet类,这些基本的常用类使用方法如下:

SqlConnection类:该类用于创建数据库连接对象,将应用程序的用户界面与后台的数据库联系起来,其一般语法格式如下所示:

SqlConnection con=new SqlConnection("server=服务器名称;database=数据库名称;uid=用户名;pwd=密码 ");

说明:上述代码中,Server表示需要访问的服务器地址,其值可以是IP地址、计算机名称、“localhost”或“.”;uid和pwd分别表示使用SQL Server身份验证登录的用户名和密码,database表示需访问的数据库名称。

SqlCommand类:该类用于创建执行SQL语句的对象,该对象用来执行 SQL 命令并将结果返回,该对象有ExecuteNonQuery()、ExecuteScalar()、ExecuteReader() 3种返回结果方法,不能随意使用。如果执行SQL语句后返回的结果为1个值时,使用ExecuteNonQuery()方法;如果执行SQL语句后返回的结果为首行首列的值时,使用ExecuteScalar()方法;如果执行SQL语句后返回的结果为多条记录或者1条记录的值时,使用ExecuteReader()方法。其语法格式如下:

string cmdStr ="select * from Student";

SqlCommand = new SqlCommand(cmdStr,con);

说明:在使用SqlCommand对象时有两个参数,其中第一个参数是需要执行的SQL语句,第二个参数是数据库连接对象con。

SqlDataReader类:该类用于创建一个查询一条或多条数据的对象,即此对象是用来存储一条或多条数据的结果集。通过调用SqlCommand对象cmd的ExecuteReader()方法,将查询到的结果以SqlDateReader类型对象返回。其语法格式如下:

SqlCommand cmd = new SqlCommand(cmdStr,con); //连接好数据库后执行SQL语句

SqlDataReader reader = cmd.ExecuteReader(); //调用SqlCommand对象cmd的ExecuteReader()方法并将返回结果赋给SqlDateReader类型的对象reader

说明:该方法访问数据库为在线式访问数据库的方法,对数据库的操作始终与数据库保持连接。SqlDateReader对象可以使用read()方法实现按行逐个读取返回的数据进行相关的操作。

SqlDataAdapter类与DataSet类:其中SqlDataAdapter类用于创建检索和保存数据的对象,DataSet类用于创建一个本地数据存储对象。这两个类一般配合一起使用,DataSet对象用于存储SqlDataAdapter对象的数据,且DataSet对象相当于本地内存,数据可以长久保存。其语法格式如下:

SqlCommand cmd = new SqlCommand(cmdStr,con); //连接好数据库后执行SQL语句

SqlDataAdapter adapter = new SqlDataAdapter(cmd); //将数据保存至SqlDataAdapter适配器对象adapter中

DataSet ds = new DataSet();//创建DataSet对象即本地存储数据库

adapter.Fill(ds);//用DataSet对象保存SqlDataAdapter对象保存的数据

说明:此方法访问数据库为离线式访问数据库,数据库中的数据被搬至内存进行操作,操作完成后再更新数据库中的数据。

3 ADO.NET技术访问SQL Server数据库的方法和步骤

下面以仓库管理系统为例,给出了ADO.NET技术实现访问SQL Server 数据库的一般方法和步骤。

3.1 设计和创建好仓库管理系统的数据库

ADO.NET技术访问SQL Server 数据库的第一步是设计和创建好仓库管理系统的数据库,本系统是要完成仓库管理系统, 根据我们前期的市场调研,仓库管理系统数据库Store应包含的数据表有商品表Gooks、管理员表Managements、顾客表customers 、商品分类表GooksId共4个表。

3.2 ADO.NET技术实现SQL Server数据库的访问

在SQL Server 中创建好仓库管理系统数据库 Store及相应的数据表后,就可以在.NET 平台使用ADO.NET技术访问管理系统的数据库 Store,其步骤如下:

3.2.1 安装和导入命名空间

为了能使用 ADO.NET 中相应的类访问数据库, 需导入相应的命名空间:导入语句为:using System.Data 和using System.Data.SqlClient。 注意:用vs2019创建 .Net Core下的C#控制台程序没有自动添加System.Data和System.Data.SqlClient的引用,需要用在NuGet包管理器手动添加(添加的方法:“工具”--“NuGet包管理器(N)”--“程序包管理器控制台”,然后在左下方光标闪烁处输入命令为“ Install-Package System.Data.SqlClient”--输入完成后按回车键,等待下载添加完成后左边解决方案Store项目的依赖项里会多出“System.Data.SqlClient”引用。

3.2.2 使用 SqlConnection 对象连接仓库管理系统数据库

为了能够访问仓库管理系统的数据库,导入完命名空间后接下来需要建立数据库连接,我们可以使用 ADO.NET 的 SqlConnection类来完成数据库的连接。 下面是使用 Sql Connection 类创建对象与前面设计且创建好的数据库Stroe相连接的现实代码:

Public SqlConnection con = new SqlConnection ("server=localhost;uid=sa;pwd=123456;database=Store"); //创建数据库连接对象

3.2.3 使用SqlDataReader、SqlDataAdapter、DataSet 3个对象操纵数据库数据

建立好图书数据库的连接之后, 我们可以通过创建SqlCommand 对 象 执 行 SQL语句,然后使用SqlDataReader 类对象或者配合使用SqlDataAdapter类对象与DataSet类对象对查询到的结果记录集进行查询和处理。下面分别给出2种方法的实现方式:

(1)下面的代码示例演示了使用SqlCommand和SqlData Reader 对象将仓库管理系统中商品的所有信息显示到页面:

string sql = “select * from Gooks “; //首先给出需要执行的SQL语句,查询所有商品信息。

SqlCommand cmd = new SqlCommand(sql,con); //创建执行SQL命令对象

con.open(); //打开数据库连接

SqlDataReader reader = cmd. ExecuteReader(); //通 过 调 用SqlCommand对象cmd的ExecuteReader()方法将查询到的数据保存在SqlDataReader对象reader中。

最后将通过循环语句和调用SqlDateReader对象的read()方法将数据绑定到要显示商品信息的控件上即可,此类数据库操作方式为在线式访问方式。

(2)下面的代码示例演示了使用SqlCommand 和配合使用SqlDataAdapter类对象与DataSet类对象将仓库管理系统中商品的所有信息显示到页面:

string sql = “select * from Gooks “; //首先给出需要执行的SQL语句,查询所有商品信息。

SqlCommand cmd = new SqlCommand(sql,con); //创建执行SQL命令对象

SqlDataAdapter adapter = new SqlDataAdapter(cmd); //创 建SqlDataAdapter对象适配器用于保存SqlCommand 对象cmd执行SQL语句后返回的数据。

DataSet ds = new DataSet(); //创建一个存放于内存中的数据缓存

con.open(); //打开数据库连接

adapter.Fill(ds); //将SqlDataAdapter对象适配器的数据保存到DataSet对象中,即保存到本地内存中

最后关闭数据库的连接,并使用ds.Tables[0]将数据绑定到要显示商品信息的控件上即可,此类数据库操作方式为离线式访问方式。

3.2.4 关闭数据库的连接:

数据处理完毕后,需要使用 con.Close()关闭与数据库的接连。

4 结束语

本文以仓库管理系统为例,给出了ADO.NET技术实现访问SQL Server 数据库的一般方法和步骤,已经通过实验完成仓库管理系统与数据库连接部分,并且已验证是完全可行。即本文给出了 ASP.NET 访问SQL Server 数据库的步骤及详细的配置过程和最终实现了与数据库的连通一般方法和步骤。对于初学者理解 ASP.NET 的工作原理,并熟练掌握ADO.NET技术实现访问SQL Server数据库的方法具有一定的现实指导意义。

猜你喜欢
商品信息仓库语句
中国商品信息服务平台
商品信息
重点:语句衔接
四行仓库的悲壮往事
备战双十一
商品信息标准化助力电子商务健康发展
消防设备
如何搞定语句衔接题
作文语句实录