​​​​​​ADO.NET实现对单表增加删除修改查询

news/2025/2/18 11:14:05/

 ADO.NET中,实现对单表的增加(Insert)、删除(Delete)、修改(Update)和查询(Select)操作,通常涉及以下步骤:

  1. 建立数据库连接:使用SqlConnection对象建立与数据库的连接。
  2. 创建命令对象:使用SqlCommand对象来创建SQL命令。
  3. 执行命令:对于增加、删除和修改操作,使用SqlCommand.ExecuteNonQuery方法;对于查询操作,使用SqlCommand.ExecuteReader方法。
  4. 处理结果:对于查询操作,处理返回的SqlDataReader对象来读取数据。

下面是一个简单的示例,演示如何使用ADO.NET对单表进行增加、删除、修改和查询操作:

csharp代码

using System;

using System.Data;

using System.Data.SqlClient;

class Program

{

static string connectionString = "Data Source=你的服务器名;Initial Catalog=你的数据库名;Integrated Security=True";

static void Main(string[] args)

{

// 查询示例

SelectData();

// 增加示例

InsertData();

// 更新示例

UpdateData();

// 删除示例

DeleteData();

}

static void SelectData()

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

using (SqlCommand command = new SqlCommand("SELECT * FROM 你的表名", connection))

{

using (SqlDataReader reader = command.ExecuteReader())

{

while (reader.Read())

{

Console.WriteLine($"ID: {reader["ID"]}, Name: {reader["Name"]}");

}

}

}

}

}

static void InsertData()

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

using (SqlCommand command = new SqlCommand("INSERT INTO 你的表名 (Name) VALUES (@Name)", connection))

{

command.Parameters.AddWithValue("@Name", "新记录");

int rowsInserted = command.ExecuteNonQuery();

Console.WriteLine($"插入的行数: {rowsInserted}");

}

}

}

static void UpdateData()

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

using (SqlCommand command = new SqlCommand("UPDATE 你的表名 SET Name = @NewName WHERE ID = @ID", connection))

{

command.Parameters.AddWithValue("@ID", 1); // 假设更新ID为1的记录

command.Parameters.AddWithValue("@NewName", "更新后的名称");

int rowsUpdated = command.ExecuteNonQuery();

Console.WriteLine($"更新的行数: {rowsUpdated}");

}

}

}

static void DeleteData()

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

connection.Open();

using (SqlCommand command = new SqlCommand("DELETE FROM 你的表名 WHERE ID = @ID", connection))

{

command.Parameters.AddWithValue("@ID", 2); // 假设删除ID为2的记录

int rowsDeleted = command.ExecuteNonQuery();

Console.WriteLine($"删除的行数: {rowsDeleted}");

}

}

}

}

请注意,上述代码中的connectionString变量需要替换为你的数据库连接字符串。同样,你的服务器名你的数据库名你的表名需要替换为实际的服务器名、数据库名和表名。

InsertDataUpdateDataDeleteData方法中,我使用了参数化查询来防止SQL注入攻击。在SelectData方法中,我使用了SqlDataReader来读取查询结果。

确保在部署到生产环境之前,对数据库操作进行适当的错误处理和事务管理,以确保数据的完整性和一致性。


http://www.ppmy.cn/news/1354298.html

相关文章

Python爬虫html网址实战笔记

仅供学习参考 一、获取文本和链接 import requests from lxml import htmlbase_url "https://abcdef自己的网址要改" response requests.get(base_url) response.encoding utf-8 # 指定正确的编码方式tree html.fromstring(response.content, parserhtml.HTML…

HTTP 响应状态代码

HTTP 响应状态代码 HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。 响应分为五类: 信息性回复 ( 100 – 199​)成功响应 ( 200 – 299​)重定向消息 ( 300 – 399​)客户端错误响应 ( 400 – 499​)服务器错误…

【DDD】学习笔记-培训领域模型的聚合设计案例

聚合是领域驱动战术设计最为核心的概念,若能合理运用,就能极大地改善领域设计模型的质量。只有设计出高质量的聚合,才能充分利用聚合边界的控制力,达成领域逻辑与技术实现之间的平衡。下面,我将针对培训管理系统&#…

Xilinx FPGA——在线升级

同以前单片机在线升级的做法一样,本质就是通信Flash操作跳转。 一、通信驱动 我使用的是UDP有线传输, 二、Flash芯片驱动 规划Flash芯片的区域,一般bootloader放在起始位置,APP放在bootloader之后的空白区域。 2.1 Flash擦除 我…

shell脚本之高级变量

目录 一、高级变量赋值 1、高级变量赋值总结表 2、相关操作 二、变量间接引用 1、eval命令 一、高级变量赋值 1、高级变量赋值总结表 变量配置方式str 无配置str 为空字符串str 已配置为非空字符串var${str-expr}varexprvarvar$strvar${str:-expr}varexprvarexprvar$str…

ABC341A-D题解

文章目录 A题目AC Code: B题目AC Code: C题目AC Code: D题目你以为这就完了? 时间复杂度分析:AC Code: E A 题目 这个没什么好说的,就先输出一个 1,再输出 n n n 个 01就大功告成…

2024.2.15 模拟实现 RabbitMQ —— 消息持久化

目录 引言 约定存储方式 消息序列化 重点理解 针对 MessageFileManager 单元测试 小结 统一硬盘操作​​​​​​​ 引言 问题: 关于 Message(消息)为啥在硬盘上存储? 回答: 消息操作并不涉及到复杂的增删查改消…

【复现】某公司指挥调度管理平台 RCE漏洞_51

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 该平台提供强大的指挥调度功能,可以实时监控和管理通信网络设备、维护人员和工作任务等。用户可以通过该平台发送指令…