C#操作SqlServer数据库语句
操作数据库语句
操作数据库语句需要搭配数据库的连接Connection类 和下达SQL命令Command类
1. ExecuteNonQuery
ExecuteNonQuery 方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句,最后执行sql语句的时候可以用一个整形变量来接收,返回值是执行的行数 例如: int num = cmd.ExecuteNonQuery();
操作ExecuteNonQuery
第一步: 连接数据库
public string connString = @"Server=192.168.113.65,51187\SQLEXPRESS;DataBase=StudentManageDB;Uid=sa;Pwd=123456";public SqlConnection conn = new SqlConnection(connString);
conn.Open();第二步(创建SQL语句) :
string sql = "delete from Students where ClassId=99";第三步(创建一个sql命令 Command) :
// 参数1: sql语句 参数2: 连接数据库对象
SqlCommand cmd = new SqlCommand(sql, conn);第四步(执行sql语句)
cmd.ExecuteNonQuery();
2. ExecuteScalar
在C#中,ExecuteScalar方法用于执行查询并返回查询结果的第一行第一列的值。它通常用于执行返回单个值的SQL查询,例如COUNT、SUM等聚合函数的查询。 ExecuteScalar方法返回一个object类型的结果,因此在使用之前需要进行类型转换。
操作ExecuteScalar
// 1 创建数据库链接
SqlConnection conn = new SqlConnection(connstring);// 2 创建sql命令
SqlCommand cmd = new SqlCommand(sql, conn);// 3打开链接执行命令
conn.Open();
int a = Convert.ToInt32(cmd.ExecuteScalar());
3. ExecuteReader
C#中的ExecuteReader方法用于执行SQL查询,并返回查询结果的数据读取器。
它通常用于从数据库中检索数据。 ExecuteReader方法返回一个SqlDataReader对象,该对象可以用于逐行读取查询结果。可以使用DataReader的方法来获取每行的列值,并进一步处理它们。
ExecuteReader方法常用于执行SELECT语句,以便从数据库中读取数据。它还可以与参数化查询一起使用,以允许动态输入查询条件。
操作ExecuteReader
private void button4_Click(object sender, EventArgs e){连接数据库public string connString = @"Server=192.168.113.65,51187\SQLEXPRESS;DataBase=StudentManageDB;Uid=sa;Pwd=123456";public SqlConnection conn = new SqlConnection(connString);conn.Open();List<Student> list = new List<Student>() ; // 创建列表存储类string sql = "select * from Students"; // sql语句SqlCommand cmd = new SqlCommand(sql,conn) ; // sql命令// 读取// System.Data.CommandBehavior.CloseConnection 数据读取完之后关闭链接SqlDataReader r = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); // 由于ExecuteReader方法一次只能读取一行,所以在此处使用for循环直到读取完停止while (r.Read()){list.Add(new Student(){StudentId = Convert.ToInt32(r["StudentId"]),StudentName = r["StudentName"].ToString(),BirthDay = r["BirthDay"].ToString(),Age = Convert.ToInt32(r["Age"]),});}dataGridView1.DataSource = list; // 将读取出来的内容显示在表格}
// 创建数据类接收读取出来的内容public class Student
{public int StudentId { get; set; }public string StudentName { get; set; }public string BirthDay { get; set; }public int Age { get; set; }
}
4. SqlDataAdapter
SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。
操作SqlDataAdapter
string sql = "select * from Students"; // sql语句
SqlCommand cmd = new SqlCommand(sql,conn) ; // sql命令DataSet ds = new DataSet(); // 创建一个dataset变量
SqlDataAdapter adapter = new SqlDataAdapter(cmd); // 执行cmd命令 返回的是查询语句的数据集合
adapter.Fill(ds); // 使用adater填充数据集
this.dataGridView1.DataSource = ds.Tables[0]; // 从数据库ds去除数据赋值给表格的datasource
相关文章:
C#操作SqlServer数据库语句
操作数据库语句 操作数据库语句需要搭配数据库的连接Connection类 和下达SQL命令Command类 1. ExecuteNonQuery ExecuteNonQuery 方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句,最后执行sql语句的时候可以用一个整形变量来接收,返…...
Linux之实战命令33:mount应用实例(六十七)
简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…...
论文精读:基于概率教师学习的跨域自适应目标检测(ICML2022)
原文标题:Learning Domain Adaptive Object Detection with Probabilistic Teacher 中文标题:基于概率教师学习的域自适应目标检测 代码地址: GitHub - hikvision-research/ProbabilisticTeacher: An official implementation of ICML 2022 p…...
thinkphp 学习记录
1、PHP配置 (点开链接后,往下拉,找到PHP8.2.2版本,下载的是ZIP格式,解压即用) PHP For Windows: Binaries and sources Releases (这里是下载地址) 我解压的地址是:D:\…...
Leetcode 24 Swap Nodes in Pairs
题意:给定一个list of nodes,要求交换相邻的两个节点 https://leetcode.com/problems/swap-nodes-in-pairs/description/ Input: head [1,2,3,4] Output: [2,1,4,3] 首先你需要思考,我要交换两个节点,对于每个节点,向…...
选择 PDF 编辑器时要考虑什么?如何选择适用于 Windows 10 的 PDF 编辑器
选择 PDF 编辑器时要考虑什么? 随着技术的出现,您在网上浏览时肯定会遇到一些 PDF 软件。但是,选择PDF 编辑器时需要考虑什么?如果您是重度用户并将在您的工作场所使用它,建议您找到专业、使用方便且能够帮助您完成任…...
33-Golang开发入门精讲
├──33-Golang开发入门精讲 | └──1-Golang语法精讲 | | ├──1-介绍-go语言 | | ├──2-介绍-go语言中的面向对象 | | ├──3-第1阶段:走进Golang | | ├──4-第1阶段:走进Golang | | ├──5-第2阶段:变量与…...
研发中台拆分之路:深度剖析、心得总结与经验分享
背景在 21 年,中台拆分在 21 年,以下为中台拆分的过程心得,带有一定的主观,偏向于中小团队中台建设参考(这里的中小团队指 3-100 人的团队),对于大型团队不太适用,毕竟大型团队人中 …...
SWIFT Payment
SWIFT stands for Society for Worldwide Interbank Financial Telecommunication SWIFT——环球银行金融电信协会 SWIFT Payment Useful Link ISO 20022https://www.iso20022.org/https://www.swift.com/standards/iso-20022MT and MX Equivalence Tableshttps://www2.swift…...
数据结构之红黑树实现(全)
一、红黑树 红黑树是一种自平衡的二叉搜索树,它通过约束节点的颜色和结构来保持平衡。红黑树是由 Rudolf Bayer 在1972年发明的,被认为是一种优秀的平衡树结构,广泛应用于各种数据结构和算法中。 1.红黑树的性质 1. 每个结点是红的或者黑的…...
冷热数据分离
优质博文:IT-BLOG-CN 一、背景 随着机票业务的快速发展,订单量持续增长对业务性能带来影响,需要进行冷热数据分离。目前机票订单模块主要使用Mysql(InnoDB)作为数据库存储,历史订单信息状态修改频率低并占用大量数据库存储空间&…...
朝花夕拾:多模态图文预训练的前世今生
Diffusion Models专栏文章汇总:入门与实战 前言:时间来到2024年,多模态大模型炙手可热。在上一个时代的【多模态图文预训练】宛若时代的遗珠,本文的时间线从2019年到2022年,从BERT横空出世讲到ViT大杀四方,…...
亳州自闭症寄宿制学校,关注孩子的学习和生活
在特殊教育领域,自闭症儿童的教育与成长一直是社会各界关注的焦点。近年来,随着对自闭症认识的加深,越来越多的寄宿制学校应运而生,致力于为这些特殊的孩子提供全面、个性化的教育服务。在安徽亳州,这样的学校正努力为…...
Root me CTF all the day靶场ssrf+redis漏洞
Rootme CTF all the day靶场ssrfredis漏洞 一、环境介绍1、漏洞地址2、漏洞介绍 二、 搭建环境三、测试过程3.1 读取系统文件3.2 探测开放的服务器端口(dict协议)3.3 redis未授权访问3.3.1 利用redis来写ssh密钥(gopher协议写入)3.3.2 利用redis写定时任…...
C#中Json序列化的进阶用法
本文所有json序列化,都使用的Newtonsoft.Json包 1 JsonIgnore 在 Newtonsoft.Json 中,如果你不想将某些属性转换为 JSON 字符串,可以使用多种方法来实现。以下是几种常见的方法: 1.1 使用 [JsonIgnore] 特性 [JsonIgnore] 特性…...
IO相关的常用工具包
常用工具包Commons-io Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。 作用:提高IO流的开发效率。 使用步骤: 1、在项目中创建一个文件夹:lib 2、将jar包复制粘贴到lib文件夹 3、右键点击jar包,选择Add as Library--->点击OK …...
Spring Boot集成RBloomFilter快速入门Demo
在大数据处理和缓存优化的场景中,布隆过滤器(Bloom Filter)因其高效的空间利用和快速的查询性能而被广泛应用。RBloomFilter是布隆过滤器的一种实现,通常用于判断一个元素是否存在于一个集合中,尽管它存在一定的误判率…...
布局性能优化
布局使用不当回导致卡顿、掉帧、响应慢等问题 一、布局流程 1、应用侧会根据前端UI描述创建后端的页面节点树,其中包含了处理UI组件属性更新、布局测算、事件处理等逻辑 2、页面节点树创建完成后,UI线程会对每个元素进行测算(Measure&#…...
智云人才推荐与管理系统
1.产品介绍 产品名称:智云人才推荐与管理系统 主要功能: 智能人才匹配引擎 功能描述:利用先进的人工智能算法,根据企业岗位需求(如技能要求、工作经验、教育背景等)自动从海量人才库中筛选并推荐最合适的…...
git在远程分支上新建分支
需求: 在远程分支release/test的基础上创建一个新的分支test_20241009 确保本地仓库的信息是最新的 git fetch origin执行了 git fetch,本地仓库已经包含了 origin/release/test 的最新信息。当基于这个远程跟踪分支创建新分支时,会得到一个包…...
Allegro与OrCAD联动实操:如何安全高效地完成PCB位号‘反向同步’而不飞器件?
Allegro与OrCAD协同设计中的位号反标:规避风险的全流程实战指南 在复杂电子系统设计领域,Cadence Allegro与OrCAD的协同工作流程已成为行业标准配置。当PCB布局工程师经过多轮迭代优化器件位置后,如何将最终的位号变更安全地反向同步到原理图…...
RPG Maker MV Decrypter:解决游戏资源保护与合法访问的技术平衡方案
RPG Maker MV Decrypter:解决游戏资源保护与合法访问的技术平衡方案 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: ht…...
Linux文本管道效率稳定性治理方法
Linux文本管道效率稳定性治理方法这是一篇面向中级 Linux 使用者的技术文章,主题聚焦在文本管道效率,重点讨论管道组合、文本过滤和执行开销。在真实生产环境中,文本管道效率相关问题往往不会以单一错误形式出现,而是混杂在日志、…...
STM32F405时钟树配置避坑指南:从HSE到APB,手把手教你算对每个外设时钟
STM32F405时钟树配置避坑指南:从HSE到APB,手把手教你算对每个外设时钟 在嵌入式开发中,时钟配置是STM32项目启动的第一步,也是最容易踩坑的环节之一。很多开发者虽然理解了时钟树的基本概念,但在实际项目中仍然会遇到外…...
吕欣团队《大数据平台架构》第四章读书笔记:HDFS——把一块硬盘“拆”成一整个数据中心
最近在系统地补 Hadoop 的基础设施部分,第四章讲的是 HDFS(Hadoop Distributed File System)。这一章看下来最大的感受是:HDFS 本质上不是一个“文件系统增强版”,而是一种完全围绕“大规模数据处理”重新设计的存储哲…...
第7周学习总结:多工具Agent、RAG基础与环境搭建
多工具Agent、RAG基础与环境搭建 本周的学习重点围绕两个方向展开:一是完成了第七周的多工具协同与规划任务,并进入了第八周的流式思考链优化;二是正式启动了RAG(检索增强生成)的系统学习,搭建了知识库和环…...
电子项目布线指南:从导线、电缆到连接器的核心选型与避坑
1. 项目概述:为什么“线”比“电路”本身更重要?干了十几年电子项目,从学生时代的第一个闪烁LED,到后来复杂的机器人系统和工业控制器,我踩过最多的坑,往往不是芯片选型或代码逻辑,而是那些看起…...
【亲测免费】 为你的C Winform项目增添亮色:C Winform图标资源库推荐
为你的C# Winform项目增添亮色:C# Winform图标资源库推荐 【下载地址】CWinform图标资源库 C# Winform 图标资源库本仓库提供了一系列适用于 C# Winform 程序开发的图标资源,包括 ico 和 png 格式,尺寸涵盖 16x16、32x32 等多种常用大小 项…...
量子计算在流体动力学中的创新应用:PolyQROM技术解析
1. 量子计算与流体动力学:PolyQROM的创新突破在计算流体力学(CFD)领域,高精度模拟一直是科研和工程实践的圣杯。传统基于Navier-Stokes方程的数值模拟,其计算复杂度随雷诺数呈立方级增长,使得高雷诺数流动的…...
NotebookLM电影研究实战手册:3步构建专属电影知识图谱,效率提升300%
更多请点击: https://codechina.net 第一章:NotebookLM电影研究辅助 NotebookLM 是 Google 推出的基于 AI 的研究协作者,专为深度阅读、知识整合与批判性思考设计。在电影研究场景中,它能将剧本、影评、学术论文、导演访谈、历史…...
