ADO.NET基础巩固-----连接类和非连接类

简介: ADO.NET基础巩固-----连接类和非连接类

  最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的。

关于C#的基础回顾就先到前面哪里,这些要自己在工作中慢慢的去体会,不是说看书就可以掌握的。我们都是从学生时代过来的知道每个人的学习情况是不一样的,所以找到自己的学习节奏是最好不过的。


下面是关于访问数据库[ADO.NET]的学习,之前刚开始学习的时候把这些基本的都过了一遍,但是长时间不使用,一些基本的用法还是会遗忘的。



 一:关于ADO.NET中基本名称的解释


    现在我才知道ADO.NET里面分为连接类和断开连接类两种,这些都是从一些基本的关键字(就先这么叫)来区分的。


    连接类:


                  Connection,  Command,  DataReader和 DataAdapter


    连接类可以提取和更新底层数据源中的数据。每个数据提供程序负责实现连接类。


  • Connection


         Connection对象表示与数据源的一次单独的会话,Connection类指定了连接到数据源必须的验证信息。


  • Command

         Command对象使用一个已建立的Connection对象,对数据源执行SQL语句和存储过程。CommandText属性包含了对数据源所执行的sql语句。


  • DataReader

          DataReader提供了对结果集的只前,只读的访问。DataReader对象提供了访问数据的最佳性能,避免了DataSet相关联的开销。可以通过执行Command类的



ExecuteReader()方法创建一个DataReader对象。我们可以通过这个对象读取到里面具体的值。里面有个.reader()方法我们可以通过这个来得到。


679140-20160612192115871-2102283258.png


  • DataAdapter

        DataAdapter通过从数据源提取数据,并填充一个(断开连接)的DataSet/DataTable,这个也可以进行更新,反着来。


   断开连接类:

                   DataSet, DataTable, DataColumn,DataRow, DataView, DataRelation和Constraint.


    断开连接类可以对于连接类提供的数据进行离线的访问和操作,以后在使用与底层的数据源进行同步。


  • DataSet


     DataSet是存储在内存中的一个断开连接的关系数据库(不和本地的有任何关系),提供高级浏览功能,作为其它对象的容器,包括DataTable,DataRows,DataColumn我们可以在代码中使用这些对象。


  • DataTable

     DataTable表示加载到内存中的数据的单个表,可以独立存在,也可以作为DataSet中的一部分。


  • DataRow

    DataRow表示DataTable中的一行数据


  • DataColumn

    DataRow表示DataTable中的一列数据


关于上面方法,属性的基本操作


/// <summary>
/// 关于ADO.NET中连接类和断开连接类的学习.
/// </summary>
class Program
{
    static void Main(string[] args)
    {
        string connectionString = "";
        string sql = "";
        SqlConnection conn=new SqlConnection(connectionString);
        SqlCommand cmd=new SqlCommand(sql,conn);
        cmd.CommandType=CommandType.Text;   //这里可以修改,要是存储过程的话直接就修改了,这个是枚举类型。
        //  1  :使用SqlDataReader来操作
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();      //返回结果: System.Data.SqlClient.SqlDataReader 对象。
        dr.Read();
        //下面就可以取出我们需要的数据了,要是需要多次while()来循环.
        string data1=dr.GetString(0); //一次出现一行数据。
        conn.Close();
        dr.Close();
        //  2 : 使用SqlDataApadter来操作
        conn.Open();
        //声明DataTable和DataSet它们是断开连接类,相当于本地的数据库一样。
        DataTable table = new DataTable();
        DataSet ds=new DataSet();
        SqlDataAdapter da=new SqlDataAdapter(cmd);
        da.Fill(table);       //把数据加载到DataTable中,
        da.Fill(ds);          //把数据加载到DataSet中,
        conn.Close();
        //我们可以在上面关闭的情况下,在DataTable和DataSet中找到数据来使用。
        // 3 :关于cmd的一些常用的方法。
        //    ExecuteScalar()+ 执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。
        object rowColumn = cmd.ExecuteScalar();
        //    ExecuteNonQuery()  +对连接执行 Transact-SQL 语句并返回受影响的行数。
        int row=cmd.ExecuteNonQuery();
        //    ExecuteReader()   +将 CommandText 发送到 Connection并生成一个 SqlDataReader并返回。
        SqlDataReader sqa = cmd.ExecuteReader();
        conn.Close();
    }
}
目录
相关文章
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
301 3
|
3月前
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
|
3天前
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
28 13
|
9天前
|
JSON 数据格式
.net HTTP请求类封装
`HttpRequestHelper` 是一个用于简化 HTTP 请求的辅助类,支持发送 GET 和 POST 请求。它使用 `HttpClient` 发起请求,并通过 `Newtonsoft.Json` 处理 JSON 数据。示例展示了如何使用该类发送请求并处理响应。注意事项包括:简单的错误处理、需安装 `Newtonsoft.Json` 依赖,以及建议重用 `HttpClient` 实例以优化性能。
51 2
|
2月前
|
数据库 C# 开发者
ADO.NET连接到南大通用GBase 8s数据库
ADO.NET连接到南大通用GBase 8s数据库
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
2月前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
3月前
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。
|
3月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
3月前
|
API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
使用`System.Net.WebClient`类发送HTTP请求来调用阿里云短信API
45 0