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

 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.mfbz.cn/a/392506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python中unittest(单元测试)的简单应用】

1、unittest核心组成: TestFixture:对一个测试用例环境的搭建和销毁,一个fixture,通过覆盖TestCase的setUp()和tearDown()方法来实现。如可以在setUp()中通过建立数据库连接来初始化,在tearDown()中清除数据库产生的数…

GIS分析交通事故

确定交通事故的集中区域对于制定新的战略以最大限度地减少事故具有重要作用。在本研究中,我们将使用核密度分析来检测交通事故集中的区域。 下载显示 2018 年至 2020 年期间北卡罗来纳州凯里市发生的交通事故的点数据。 我们可以看到,数据使用的是地理坐…

每日五道java面试题之java基础篇(十二)

目录: 第一题 谈谈你对AQS的理解,AQS如何实现可重⼊锁?第二题. Sychronized的偏向锁、轻量级锁、重量级锁第三题 CountDownLatch和Semaphore的区别和底层原理第四题 线程池中阻塞队列的作⽤?为什么是先添加列队⽽不是先创建最⼤线程&#xff…

【设计模式】使用装饰器模式对价格计算功能做灵活的拓展

文章目录 1. 概述2.实现方式2.1.原始商品类及计算接口2.2.加入装饰器2.3.装饰器的组合使用 3.总结 1. 概述 装饰器模式(Decorator Pattern)是一种结构型的设计模式,使用组合的方式来替代了继承,它的核心作用是在不修改对象本身的…

值得收藏的的适用于 Windows 11 的免费数据恢复软件榜单

终于要说到Windows 11了,有太多令人惊叹的功能,让人跃跃欲试。但是,在升级到 Windows 11 或使用 Windows 11 时,人们可能会因计算机问题而导致文件被删除或丢失。这就是为什么需要 Windows 11 的免费文件恢复的原因。这是适用于 W…

一周学会Django5 Python Web开发-项目配置settings.py文件-其他配置

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计17条视频,包括:2024版 Django5 Python we…

C++ //练习 7.27 给你自己的Screen类添加move、set和display函数,通过执行下面的代码检验你的类是否正确。

C Primer&#xff08;第5版&#xff09; 练习 7.27 练习 7.27 给你自己的Screen类添加move、set和display函数&#xff0c;通过执行下面的代码检验你的类是否正确。 Screen myScreen(5, 5, X); myScreen.move(4, 0).set(#).display(cout); cout<<"\n"; myScr…

开源C语言库Melon:Cron格式解析

本文介绍开源C语言库Melon的cron格式解析。 关于 Melon 库&#xff0c;这是一个开源的 C 语言库&#xff0c;它具有&#xff1a;开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 cron也就是我们常说的Crontab中的时间格式&#xff0c;格式如…

Debezium发布历史136

原文地址&#xff1a; https://debezium.io/blog/2023/01/06/change-data-capture-with-questdb-and-debezium/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Change Data Capture with QuestDB and Debezium …

【NI-DAQmx入门】处理数据采集和测试系统中噪声的几种主要方法

在实际的测试系统中测量模拟信号并不总是像将信号源连接到测量设备那么简单。数据完整性取决于被控制和监视的电气设备发送和接收的干净的电信号。 电噪声可能会掩盖电信号并使其无法识别&#xff0c;从而损害原本具备功能的 DAQ 系统。数据采集​​是关键任务应用测试系统的一…

深入浅出了解谷歌「Gemini大模型」发展历程

Google在2023年12月官宣了Gemini模型&#xff0c;随后2024年2月9日才宣布Gemini 1.0 Ultra正式对公众服务&#xff0c;并且开始收费。现在2024年2月14日就宣布了Gemini 1.5 Pro&#xff0c;史诗级多模态最强MoE首破100万极限上下文纪录&#xff01;&#xff01;&#xff01;Gem…

语音唤醒——

文章目录 配置主代码 参考文档&#xff1a;https://picovoice.ai/docs/quick-start/porcupine-python/ 配置 pip install pvporcupine主代码 ACCESS_KEY&#xff1a;需要将该参数填入即可 # # Copyright 2018-2023 Picovoice Inc. # # You may not use this file except in …

如何修复Microsoft Edge不能以全屏模式打开​?这里提供几个故障排除方法

随着越来越多的Windows 10用户将Edge设置为默认浏览器&#xff0c;各种错误和小故障层出不穷。例如&#xff0c;许多用户抱怨他们无法在全屏模式下启动Edge。如果你正在寻找解决方案来解决这个恼人的问题&#xff0c;请按照下面的故障排除步骤进行操作。 修复Microsoft Edge不…

内容检索(2024.02.17)

随着创作数量的增加&#xff0c;博客文章所涉及的内容越来越庞杂&#xff0c;为了更为方便地阅读&#xff0c;后续更新发布的文章将陆续在此汇总并附上原文链接&#xff0c;感兴趣的小伙伴们可持续关注文章发布动态&#xff01; 本期更新内容&#xff1a; 1. 信号完整性理论与…

JavaWeb:关于登录认证的简单拓展

前提介绍 本文基于文章-------JavaWeb&#xff1a;SpringBootWeb登录认证 --黑马笔记 -------再做简单拓展 如果没有关于登录认证知识的基础&#xff0c;可以先看上面所说的的文章&#xff0c;文章在专栏javaweb中&#xff0c;下面我为了大家观看&#xff0c;直接放了链接。…

代码随想录刷题笔记 DAY 28 | 复原 IP 地址 No.93 | 子集 No.78 | 子集 II No.90

文章目录 Day 2801. 复原 IP 地址&#xff08;No. 93&#xff09;1.1 题目1.2 笔记1.3 代码 02. 子集&#xff08;No. 78&#xff09;2.1 题目2.2 笔记2.3 代码 03. 子集 II&#xff08;No. 90&#xff09;3.1 题目3.2 笔记3.3 代码 Day 28 01. 复原 IP 地址&#xff08;No. 9…

《读者》2023-18:定力决定你能走多远

定力决定你能走多远 - 董宇辉 我苦练英语很长时间之后&#xff0c;有一次上口语课&#xff0c;老师让我回答问题。 我回答完&#xff0c;老师说&#xff0c;没想到你的口语还挺好的。 我突然感觉自己的付出被看见了&#xff0c;虽然它小到不值一提。 请你记住&#xff0c;很多小…

2024年华为OD机试真题-多段线数据压缩-Java-OD统一考试(C卷)

题目描述: 下图中,每个方块代表一个像素,每个像素用其行号和列号表示。 为简化处理,多段线的走向只能是水平、竖直、斜向45度。 上图中的多段线可以用下面的坐标串表示:(2, 8), (3, 7), (3, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 3), (8, 4), (7, 5)。 但可以发现,这…

C++智能指针的冷知识!

个人主页&#xff1a;PingdiGuo_guo 收录专栏&#xff1a;C干货专栏 大家好呀&#xff0c;我是PingdiGuo_guo&#xff0c;今天我们来学习一下智能指针。 文章目录 1.智能指针的概念 2.智能指针的思想 3.智能指针的作用 3.1 自动内存管理 3.2 共享所有权 3.3 避免悬挂指针…

PyTorch使用Tricks:学习率衰减 !!

文章目录 前言 1、指数衰减 2、固定步长衰减 3、多步长衰减 4、余弦退火衰减 5、自适应学习率衰减 6、自定义函数实现学习率调整&#xff1a;不同层不同的学习率 前言 在训练神经网络时&#xff0c;如果学习率过大&#xff0c;优化算法可能会在最优解附近震荡而无法收敛&#x…
最新文章