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日

相关文章

  • Unity TextMeshPro实现富文本超链接默认字体追加字体

    下面是关于“Unity TextMeshPro 实现富文本超链接默认字体追加字体”的完整攻略: 背景介绍 在 Unity 项目中,TextMeshPro 是一款很常用的文本 UI 组件。它支持富文本、超链接、字体嵌入等功能,并且相比 Unity 自带的 Text 组件,TextMeshPro 更加易用、性能更好。我们在项目中经常需要使用到富文本超链接,但默认…

    C# 2023年6月3日
    00
  • c# 调用Win32Api关闭当前应用的方法

    为了关闭当前应用程序,我们可以使用Win32 API的ExitProcess函数。下面是处理步骤的完整攻略。 1.引入命名空间 首先需要在程序文件中引入System.Runtime.InteropServices 命名空间。这个命名空间提供的平台调用工具允许我们在C#中调用Win32 API。 using System.Runtime.InteropServ…

    C# 2023年5月15日
    00
  • [翻译]ExecutionContext vs SynchronizationContext

    我最近几次被问到关于 ExecutionContext 和 SynchronizationContext 的各种问题,例如它们之间的区别是什么,“传播(Flow)”它们意味着什么,以及它们与 C# 和 Visual Basic 中新的 async/await 关键字的关系。我想我会尝试在这里解决其中的一些问题。 警告:这篇文章深入到 .NET 的一个高级领域…

    C# 2023年4月17日
    00
  • C#表达式树讲解

    C# 表达式树讲解 在 C# 中,表达式树(Expression Tree)是一个类似于代码的树形数据结构,可以表示出一个语法树、一个 lambda 表达式、一个 LINQ 查询等等。 表达式树是由表达式节点构成的,每个节点代表一个表达式或语句。 表达式树的语法 表达式树和 C# 中的 lambda 表达式比较类似,都是由参数、箭头符号和表达式组成。例如以下…

    C# 2023年6月1日
    00
  • websocket与C# socket相互通信

    web端代码就是js代码,C#有两种方式:使用第三方库,如Fleck,使用C#原生socket编程实现   web端: <!doctype html> <html lang=”zh-CN”> <head> <meta charset=”UTF-8″> <title>下发网站上文件到学生机</t…

    C# 2023年4月24日
    00
  • C#获取CPU处理器核心数量的方法

    获取CPU处理器核心数量是一项常见的系统信息查询任务,本文将详细讲解C#获取CPU处理器核心数量的方法。 1. .NET Framework中获取CPU核心数量的方法 .NET Framework提供了一个名为Environment的类,可以使用该类的ProcessorCount属性轻松地获取CPU核心数量。 int coreCount = Environm…

    C# 2023年6月2日
    00
  • C#检查Windows是否安装了某个服务的方法

    我将为您详细讲解“C#检查Windows是否安装了某个服务的方法”的完整攻略。 方法 要检查Windows是否安装了某个服务,我们可以使用C#语言提供的System.ServiceProcess命名空间中的ServiceController类。 该类允许我们检查、启动、停止、暂停或恢复Windows服务。 以下是使用ServiceController类检查W…

    C# 2023年6月7日
    00
  • ASP.NET性能优化小结(ASP.NET&C#)

    针对你提出的主题“ASP.NET性能优化小结(ASP.NET&C#)”,我将为你提供一些完整攻略,并附带两个示例,以供参考。 标题 1. 概述 对于一个高效的 ASP.NET 网站,性能优化至关重要。性能优化可以提高网站的访问速度、降低响应时间,缩短页面加载时间,减轻服务器的压力和消耗等。在本文中,我们将分享几个优化网站性能的策略。 2. 启用缓存(…

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