S1/C#语言和数据库技术基础/14-使用ADO.NET访问数据库

ADO.NET提供了两个组件,用来访问和处理数据:.NET Framework数据提供程序和DataSet(数据集)

  • .NET Framework数据提供程序是专门为数据处理及快速地只进、只读访问数据而设计的组件。使用它可以连接数据源、执行命令和检索结果,直接对数据源进行操作。
  • DataSet是专门为独立于任何数据源的数据访问而设计的。使用它,可以不必直接和数据源打交道,大批量的操作数据,也可以将数据绑定在控件上。

.NET Framework数据提供程序


.NET Framework数据提供程序


说明


.NET Framework用于 SQL Server 的数据提供程序


提供对Microsoft  SQL  Server数据访问。使用 System.Data.Sql.Client 命名空间


.NET Framework用于 OLE DB 的数据提供程序


提供对 OLE DB 公开的数据源中数据的访问。使用 System.Data.Sql.OleDb 命名空间


.NET Framework用于 ODBC 的数据提供程序


提供对使用 ODBC 公开的数据源中数据的访问。使用 System.Data.Odbc 命名空间


.NET Framework用于 Oracle 的数据提供程序


适用于 Oracle 数据源,用于Oracle的.NET Framework数据提供程序支持Oracle客户端软件8.1.7版和更高版本。使用 System.Data.Oracle.Client 命名空间


EntityClient 提供程序


提供对实体数据模型(EDM)应用程序的数据访问。使用 System.Data.Entity.Client

.NET Framework数据提供程序的四个核心对象


对象


说明


Connection


建立与特定数据源的连接


Command


对数据源执行命令


DataReader


从数据源中读取只进且只读的数据流


DataAdapter


用数据源填充DataSet并解析更新

.NET数据提供程序及相应的连接类


.NET数据提供程序


连接类


命名空间


SQL数据提供程序


SqlConnection


System.Data.SqlClient


OLE  DB数据提供程序


OleDbConnection


System.Data.OleDb


ODBC数据提供程序


OdbcConnection


System.Data.Odbc


Oracle数据提供程序


OracleConnection


System.Data.OracleClient

Connection对象的常用属性和方法


属性


说明


ConnectionString


设置/获取应用程序连接数据库的连接字符串


方法


说明


void  Open( )


使用ConnectionString属性所指定的设置打开数据库连接


void  Close( )


关闭与数据库的连接

建立应用程序与数据库连接需要以下三个步骤:

1、定义连接字符串

不同的数据库连接字符串,其格式不同。

语法:

SQL Server数据库的连接字符串格式一般如下。

Data  Source=服务器名;Initial Catalog=数据库名;User ID=用户名;Pwd=密码

数据库连接字符串由多个参数组成,其中:

  • Data Source:指定与应用程序连接的数据库服务器的名称或IP地址。若将本机作为应用程序的数据库服务器,则该参数的值可以是“.”、“(local)”或“127.0.0.1”。
  • Initial Catalog:指定应用程序将要访问的数据库名称。
  • UserID:SQL Server数据库的用户名
  • Pwd:SQL Server数据库用户名的密码

例如,应用程序与本机的pubs数据库连接的字符串可以写成:

String  connString=“Data  Source=.;   Initial  Catalog=pubs;   User ID=sa;   Pwd=bdqn”;

注意:密码如果为空,可以省略Pwd一项。

2、创建Connection对象

使用定义好的;连接字符串创建Connection对象。

语法:

SqlConnection   connection=new SqlConnection(connString);

3、打开与数据库的连接

调用Connection对象的Open()方法打开数据库连接。

语法:

connection.Open();

在上面的这三个步骤中,第一、二步的先后顺序可以调换,可以先创建一个Connection对象,在设置它的ConnectionString属性,例如:

SqlConnection connection=new SqlConnection( );

String connString="Data Source=.;Initial Catalog=pubs;User ID=sa;Pwd=bdqn";

Connection.ConnectionString=connString;

使用Visual  Studio的服务资源管理器获得连接字符串的方法:

(1)在Visual  Studio中,选择菜单栏中的“视图”→“服务器资源管理器”选项,或按快捷键Ctrl+Alt+S。

(2)在打开的服务器资源管理器中,右击“数据连接”选项,在弹出的快捷菜单中选择“添加连接”选项。

(3)在弹出的“添加连接”对话框中,选择数据源,输入服务器名,选择身份验证,选择要连接的数据库,确定后,就在服务器资源管理器中添加了一个数据库连接。

(4)选中新添加的连接,在“属性”窗口中就能够找到连接字符串了,可以将它选中复制到代码中。

注意:打开数据库连接,执行命令后,要确保关闭数据库连接。

异常处理

try-catch语句

语法:

try

{

//包含可能出现异常的代码

}

catch(处理的异常类型)

{

//处理异常的代码

}

异常也有很多种类型,本课程我们只需关注Exception类。这是.NET提供的一个异常类,表示应用程序在运行时出现的错误。

try-catch-finally语句

try

{

//打开数据库连接

connection.Open();

Console.WriteLine("打开数据库连接成功");

}

catch(Exception   ex)

{

Console.WriteLine("出现异常"+ex.Message);

}

finally

{

//关闭数据库连接

connection.Close();

Console.WriteLine("关闭数据库连接成功");

}

使用Command对象

Command对象负责执行命令并从数据源中返回结果,它和货车的作用类似,在河的两岸搭建了桥梁之后,要有运输工具才行,Command对象就可以起到这样的作用。

.NET 数据提供程序及相应的命令类


.NET 数据提供程序


连接类


命名空间


SQL   数据提供程序


SqlCommand


System.Data.SqlClient


OLE  DB数据提供程序


OleDbCommand


System.Data.OleDb


ODBC  数据提供程序


OdbcCommand


System.Data.Odbc


Oracle 数据提供程序


OracleCommand


System.Data.OracleClient

在建立了数据库连接后,就可以使用相应的Command对象来执行数据库的操作。创建Command对象的语法如下。

语法:

SqlCommand   command=new   SqlCommand(String   sql,SqlConnection   conn);

创建一个Command对象需要两个参数。第一个参数是将要执行的SQL语句,第二个参数是已经创建的Connection对象。

Comamnd对象的主要属性和方法


属性


说明


Connection


Command对象使用的数据库连接


CommandText


执行的SQL语句


方法


说明


int   ExecuteNonQuery( )


执行不返回行的语句,如UPDATE等


SqlDataReader   ExecuteReader( )或SqlDataReader   ExecuteReader(CommandBehavior   behavior)


执行查询命令,返回DataReader对象


object   ExecuteScalar( )


返回单个值,如执行COUNT(*)

本章主要介绍Command对象ExecuteScalar()方法。ExecuteScalar()方法只返回查询结果中第一行第一列的值。当查询结果只有一个数值时,通常调用这个方法,如使用聚合函数完成查询时。一般情况下,这个方法的返回值需要进行显示类型转换后才能使用。

要使用Command对象,必须有一个可用的Connection对象,使用Command对象的步骤如下。

(1)创建数据库连接

按照前面讲过的步骤创建一个Connection对象

(2)定义执行的SQL语句

将对数据库执行的SQL语句赋给一个字符串

(3)创建Command对象

使用已有的Connection对象和SQL语句字符串创建一个Command对象。

(4)执行SQL语句

使用Command对象的某个方法执行命令

数据库查询示例

示例3总我们按照前面讲的步骤来实现,自定义了一个有三个参数的方法,第一个参数是用户名,第二个参数是密码,第三个参数使用引用类型来返回处理的信息。在该方法中用Connection对象连接数据库,数据库连接成功后,通过Command对象的ExecuteScalar()方法返回查询结果。注意在使用ExecuteScalar()方法时需要将方法的返回值转换为整型后再赋值。若返回值大于1,则说明用于存在;否则此用户不存在。

时间: 2024-10-10 00:57:33

S1/C#语言和数据库技术基础/14-使用ADO.NET访问数据库的相关文章

S1/C#语言和数据库技术基础/06-程序数据集散地:数据库

实体和记录 实体,所有客观存在的.可以被描述的事务. 记录,数据库中存储的数据表格,每一“行”(Row)实际上对应一个实体,在数据库中通常叫作一条“记录”(Record). 表格中的每一个“列”,如编号.姓名.年龄.民族等,在数据库中,通常称之为“字段”. 数据库管理系统(DataBase Management System,DBMS)是一种系统软件,由一个互相关联的数据集合和一组访问数据的程序构成.这个数据集合通常称为数据库,其中包含了有用的数据信息.数据库管理系统的基本目标是要提供一个可以方

S1/C#语言和数据库技术基础/15-使用ADO.NET查询和操作数据

String和StringBuilder 在使用String类时常常存在这样一个问题:当每次为同一个字符串重新赋值时,都会在内存中创建一个新的字符串对象,需要为该新对象分配新的空间,这样会加大系统的开销.因为system.String类是一个不可变的数据类型,一旦对一个字符串对象进行初始化后,该字符串对象的值就不能改变了.当对该字符串的值做修改时,实际上是又创建了一个新的字符串对象.现在我们来分析由以下三个语句组成的这段代码的输出结果是什么. String   strText   =   "He

《C#语言和数据库技术基础》单词必备

<C#语言和数据库技术基础> 第一章1..NET Framework   框架2.sharp            尖锐3.application      应用程序4.developer        开发者5.network          网络6.build            建造,建筑7.console          控制台8.debug            调试9.namespace        命名空间10.project         项目11.solution 

C#语言和数据库技术基础复习

整理了下C#语言和数据库技术基础,作为复习资料 第一章 一.c#和JAVA对比:1.c#用命名空间(namespace)java用包(package) 2.引入命名空间或包的关键字C#用using,JAVA用import 3.程序入口:C#的Main()有四种形式static void Main(string[] args) static int Main(string[] args) static void Main() static int Main() JAVA的MAIN()有一种形式 4

使用ADO.NET 访问数据库

一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 Connection Command DataAdapter DataReader 二.使用ADO.NET访问数据库 1.首先导入命名空间System.Data.SqlClient 2.创建连接字符串 String constr="Data Source=.;Initial Catalog=Scho

使用ADO.NET访问数据库-----的解析

一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 Connection Command DataAdapter DataReader 二.使用ADO.NET访问数据库 1.首先导入命名空间System.Data.SqlClient 2.创建连接字符串 String constr="Data Source=.;Initial Catalog=Scho

使用 ado.net访问数据库

一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象   Connection   Command   DataAdapter   DataReader 二.使用ADO.NET访问数据库 1.首先导入命名空间System.Data.SqlClient 2.创建连接字符串 String constr="Data Source=.;Initial Cata

S1/C#语言和数据库技术基础/08-用SQL语句操作数据

SQL语言主要由以下几部分组成: DML(Data Manipulation Language,数据操作语言,也称为数据操纵语言):用来插入.修改和删除数据库中的数据,如INSERT.UPDATE及DELETE等. DDL(Data Definition Language,数据定义语言):用来建立数据库.数据库对象和定义其列,大部分是以CREATE开头的命令,如CREATE TABLE,CREATE VIEW及DROP TABLE等. DQL(Data Query Language,数据查询语言

数据库技术基础---4

数据仓库和数据挖掘基础知识 一.数据仓库 相比数据库,数据仓库增加了决策分析功能 OLAP:联机分析处理,用于数据挖掘,从数据仓库中分析数据,要求相应时间合理 OLTP:联机事务处理,用于更新事务,将数据写入数据库,面向操作人员,要求响应速度快 二.数据仓库的体系结构 1.组成:底层的数据仓库服务器      中间层的OLAP服务器     顶层的前端工具 2.分类:企业仓库   数据集市 三.数据挖掘:从海量数据库中挖掘信息的技术(DM) 1.技术:人工神经网络  决策树  遗传算法   近邻