ADO.NET数据库访问技术

ADO.NET是Microsoft .NET Framework中提供的用于访问数据源的技术,可以用于访问关系型数据库(如SQL Server、MySQL等)和非关系型数据库(如XML)。下面将详细讲解ADO.NET的使用攻略。

准备工作

首先,需要在项目中添加对System.Data.dll程序集的引用,这个程序集包含了与ADO.NET有关的一些命名空间(如System.Data和System.Data.SqlClient)。

连接数据库

要访问数据库,首先需要建立一个连接。连接字符串(Connection String)用于指定连接的参数,包括要连接的数据库的类型、名称、用户名和密码等。常用的连接字符串格式为:

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

示例代码:

string connStr = "Data Source=localhost;Initial Catalog=MyDatabase;User ID=sa;Password=123456;";
SqlConnection conn = new SqlConnection(connStr);

上面的代码创建了一个SqlConnection对象,它表示与指定的数据库建立连接。如果连接成功,则可通过其它对象访问数据库中的数据,否则会抛出异常。

执行SQL语句

有两种方法可以执行SQL语句,分别是ExecuteNonQuery和ExecuteScalar。

ExecuteNonQuery方法

ExecuteNonQuery方法用于执行没有返回结果的SQL语句,如INSERT、UPDATE、DELETE等。执行成功后,该方法返回影响的行数。

string sql = "DELETE FROM MyTable WHERE ID=1";
SqlCommand cmd = new SqlCommand(sql, conn);
int rowsAffected = cmd.ExecuteNonQuery();

上面的代码执行了一条DELETE语句,删除MyTable表中ID为1的记录,并返回影响的行数。

ExecuteScalar方法

ExecuteScalar方法用于执行一条SQL语句并返回结果集中第一行第一列的值。

string sql = "SELECT COUNT(*) FROM MyTable";
SqlCommand cmd = new SqlCommand(sql, conn);
int count = (int)cmd.ExecuteScalar();

上面的代码执行了一条SELECT COUNT(*)语句,返回MyTable表中的行数。

查询数据

查询数据需要用到SqlDataReader对象和SqlCommand对象。

string sql = "SELECT * FROM MyTable WHERE Age>20";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    int id = (int)reader["ID"];
    string name = reader["Name"].ToString();
    int age = (int)reader["Age"];
    Console.WriteLine("{0},{1},{2}", id, name, age);
}
reader.Close();

上面的代码执行了一个SELECT语句,查询MyTable表中年龄大于20的记录,并将ID、Name和Age字段的值打印出来。

示例一:插入数据

string sql = "INSERT INTO MyTable (Name,Age) VALUES(@Name,@Age)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@Name", "张三");
cmd.Parameters.AddWithValue("@Age", 25);
int rowsAffected = cmd.ExecuteNonQuery();

上面的代码向MyTable表中插入一条记录,姓名为“张三”,年龄为25。

示例二:更新数据

string sql = "UPDATE MyTable SET Age=30 WHERE Name='张三'";
SqlCommand cmd = new SqlCommand(sql, conn);
int rowsAffected = cmd.ExecuteNonQuery();

上面的代码更新了MyTable表中姓名为“张三”的记录,将其年龄改为30。

综上所述,以上是ADO.NET数据库访问技术的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ADO.NET数据库访问技术 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • asp.net保存远程图片的代码

    下面是ASP.NET保存远程图片的完整攻略。 1. 核心思路 ASP.NET通过HttpWebRequest对象获取远程图片的数据流,再通过FileStream对象将数据流写入本地文件中。 2. 代码实现 2.1. 方法一 using System; using System.IO; using System.Net; public static bool …

    C# 2023年5月31日
    00
  • SQLite 入门教程三 好多约束 Constraints

    SQLite 入门教程三 好多约束 Constraints 在SQLite中,可以使用约束(Constraints)来保证表中数据的完整性和一致性。本教程将详细介绍SQLite数据库中支持的主要约束类型。 1. NOT NULL 使用NOT NULL约束可以保证指定的列必须有值,而不能为NULL(即空值)。以下是一个实例: CREATE TABLE Stud…

    C# 2023年5月31日
    00
  • C#使用三层架构开发Winform的详细案例

    下面我会为你详细讲解使用C#三层架构开发Winform的完整攻略。 什么是三层架构 三层架构是一种常见的软件架构模式,将软件应用划分为三个不同的部分:表示层、业务逻辑层和数据访问层。这三层分别负责不同的功能,并通过一定的规则进行交互。 表示层:用户与应用程序进行交互的接口。在Windows应用程序中,表示层一般指Winform或WPF界面。 业务逻辑层:应用…

    C# 2023年5月31日
    00
  • 使用GPS经纬度定位附近地点(某一点范围内查询)

    使用GPS经纬度定位附近地点的方法,主要分为以下几个步骤: 获取用户的地理位置信息 可以通过HTML5的Geolocation API或第三方地图API(如高德地图、百度地图等)获取用户的经纬度信息。在使用第三方地图API时,可以使用经纬度逆向地理编码的接口获取用户所在地的详细地址。 示例代码: navigator.geolocation.getCurren…

    C# 2023年6月8日
    00
  • 解析C#面向对象编程中方法(method)的使用

    解析C#面向对象编程中方法的使用 C#中的方法是一种封装了代码的基本单元,其中包含了一系列的语句,并可以接收参数、执行操作,并返回值。 方法的定义 在C#中,方法必须定义在类中。其定义的语法如下: [访问修饰符] [修饰符] 返回类型 方法名称([参数列表]) { // 方法体 } 其中,访问修饰符和修饰符是可选的。返回类型可以是任何有效的数据类型或者voi…

    C# 2023年5月15日
    00
  • c#初学简单程序实例代码介绍

    下面是详细讲解“c#初学简单程序实例代码介绍”的完整攻略: 一、前言 C# 是一门很好的面向对象编程语言,初学者可以先从一些简单的程序开始学起,逐步提升自己的编程能力。本篇文章将为大家介绍一些 C# 初学简单程序的实例代码,希望对初学者有所帮助。 二、示例说明 1. Hello World 程序 Hello World 程序是所有编程语言学习的第一步。下面是…

    C# 2023年5月31日
    00
  • C# File.OpenRead(string path):以只读模式打开指定文件,并返回FileStream对象

    C#的File类是一个非常常用的类,提供了很多关于文件和文件夹操作的方法,其中之一就是OpenRead(string path)方法。 OpenRead(string path)方法的作用 OpenRead(string path)方法用于以只读方式打开指定路径下的文件,并返回该文件的FileStream对象,该对象用于读取文件内容。 OpenRead(st…

    C# 2023年4月19日
    00
  • C# Winform选项卡集成窗体详解

    下面是关于“C# Winform选项卡集成窗体详解”的完整攻略: 1. 确定需求 在实现选项卡集成窗口前,我们需要先确定我们的需求。我们需要考虑以下几个问题: 我们想集成哪些选项卡? 每个选项卡内需要添加哪些控件? 如何处理选项卡之间的切换? 2. 创建WinForm应用程序 首先我们需要在Visual Studio中创建一个WinForm应用程序。创建完成…

    C# 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部