使用ADO.NET查询和操作数据库(合集)

一ADO.ENT的主要组件

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

  .NET Framework:是专门为数据处理及快速地只进,只读访问数据而设计的组件。使用它可以连接数据源,执行命令和检索结果,直接对数据进行操作 。

  DataSet:是专门为独立于任何数据源的数据访问而设计的。使用它,可以不必直接和数据源打交道,大批量地操作数据,也可以将数据绑定在控件上 。

                                                              NET Framework 数据提供程序

  NET Framework 用于SQL Server的数据提供程序:提供对Microsoft  SQL  Server数据的访问。使用System.Data.SqlClient 命名空间

  NET Framework  用于OLE DB  的数据提供程序:提供对OLE DB  公开的数据源中数据的访问。使用System.Data.OleDb命名空间

  NET Framework 用于ODBC 的数据提供程序 :提供使用ODBC  公开的数据源中数据的访问。使用System.Data.Odbc命名空间

一、建立数据库连接

连接字符串的格式:"Server=服务器名或服务器IP地址;DataBase=数据库名称;User ID=用户名;Pwd=密码"

使用Connection对象连接SQL Server数据库的方法如下:

using System.Data.SqlClient;引用namespace

......

SqlConnection con=new SqlConnection(连接字符串);

con.Open();

......

//数据库相关操作

......

con.Close();

异常处理:

语法:

      try{

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

      }catch(处理异常的类型){

        //处理异常的代码

      }finally{

      }

        finally:无论是否发生异常,出现在finally块中的语句都会执行。

操作数据

一、SqlCommand  

  表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。 此类不能被继承。Command类可以执行任何类型的SQL语句。

  我们在使用其执行SQL语句的时候,必须首先声明其对象,常用的三种:

  SqlCommand()           初始化 SqlCommand 类的新实例。

   SqlCommand(String)   用查询文本初始化 SqlCommand 类的新实例。

   SqlCommand(String,SqlConnection)  初始化具有查询文本和 SqlConnection 的 SqlCommand 类的新实例。

【注】SqlConnection 的使用将不单独讲,因为在操作数据库的时候都会用到。

 

   CommandText    获取或设置要对数据源执行的 Transact-SQL 语句、表名或存储过程。

   CommandType   获取或设置一个值,该值指示如何解释 CommandText 属性。

   Connection         获取或设置 SqlCommand 的此实例使用的 SqlConnection。

   Parameters         获取 SqlParameterCollection(sql语句中需要输入的阐述集合)。

   ExecuteNonQuery    执行 Transact-SQL INSERT、DELETE、UPDATE 及 SET 语句等命令并返回受影响的行数。 

   ExecuteReader()     将 CommandText 发送到 Connection 并生成一个 SqlDataReader。

   ExecuteReader(CommandBehavior)  将 CommandText 发送到 Connection,并使用 CommandBehavior 值之一生成一个 SqlDataReader。

   ExecuteScalar         执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。

  Dispose()                释放由 Component 使用的所有资源。

二、SqlDataReader 

  提供一种从 SQL Server 数据库读取行的只进流的方式。 此类不能被继承。只能向下顺序执行,一次读取一条记录,所以需要随时保存的记录。

   IsClosed     检索一个布尔值,该值指示是否已关闭指定的 SqlDataReader 实例。

  常用方法

  Read()                        使 SqlDataReader 前进到下一条记录。

  Close                          关闭 SqlDataReader 对象。 

    Dispose()                    释放 DbDataReader 类的当前实例所使用的所有资源。 

    IsCommandBehavior   确定指定的 CommandBehavior 是否与 SqlDataReader 的对应项匹配。

    IsDBNull                      获取一个值,用于指示列中是否包含不存在的或缺少的值。

 

对数据库中的数据增删改(使用Command对象的ExecuteNonQuery()方法)

ExecuteNonQuery()方法用于执行指定的SQL语句,如:update、insert、delete,它返回的是受SQL语句影响的行数

使用Command对象的ExecuteNonQuery()方法的步骤如下:

1.  创建Connection对象

2.  定义要执行的SQL语句

3.  创建Command对象

4.  执行ExecuteNonQuery()方法  注意:完成操作后不要忘记关闭conn对象。

5.  根据返回结果,进行后续处理,如返回值小于或等于0说明没有记录影响。

原文地址:https://www.cnblogs.com/yzwss/p/7759761.html