基于.NET WinForms 数据CURD功能的实现

使用开发工具 VS 2022 C#,数据库MS SQL SERVER 2019 ,基于NET WinForms,实现数据记录的创建(Create)、更新(Update)、读取(Read)和删除(Delete)等功能。主要控件包括:DataGridView,SqlDataApater , DataTable , bingingSource和DataSet。

1.WinForms界面

2.使用SqlDataApater + DataSet + DataGridView 读取数据

private void ReadData()
{//数据库连接串string strConn = "Data Source=127.0.0.1;Initial Catalog=TEST;Persist Security Info=True;User ID=sa;Password=*********;Encrypt=False";SqlConnection conn = null;try{conn = new SqlConnection(strConn);conn.Open();//打开数据库string sql = "select * from TestTask order by 1";SqlDataAdapter sda = new SqlDataAdapter(sql, conn); //创建SqlDataAdapter类的对象System.Data.DataSet ds = new System.Data.DataSet();//创建DataSet类的对象sda.Fill(ds);//使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中dataGridView1.DataSource = ds.Tables[0];//设置表格控件的DataSource属性//设置数据表格上显示的列标题//dataGridView1.Columns[0].HeaderText = "编号";//设置数据表格为只读dataGridView1.ReadOnly = true;//不允许添加行dataGridView1.AllowUserToAddRows = false;//背景为白色dataGridView1.BackgroundColor = Color.White;//只允许选中单行dataGridView1.MultiSelect = false;//整行选中dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;}catch (Exception ex){MessageBox.Show("加载数据错误!" + ex.Message);}finally{if (conn != null){conn.Close();//关闭数据库连接}}
}

3.根据查询条件查询数据

if (textBox1.Text != "")//textBox1.Text为查询条件
{string strConn = "Data Source=127.0.0.1;Initial Catalog=TEST;Persist Security Info=True;User ID=sa;Password=********;Encrypt=False";//创建SqlConnection的实例SqlConnection conn = null;try{conn = new SqlConnection(strConn);conn.Open();        //打开数据库string sql = "select * from TestTask where 检测编号 like '%{0}%'";sql = string.Format(sql, textBox1.Text);/填充占位符SqlDataAdapter sda = new SqlDataAdapter(sql, conn);//创建SqlDataAdapter类的对象DataSet ds = new DataSet();//创建DataSet类的对象sda.Fill(ds);//使用SqlDataAdapter对象sda将查新结果填充到DataSet对象ds中dataGridView1.DataSource = ds.Tables[0];//设置表格控件的DataSource属性}catch (Exception ex){MessageBox.Show("查询数据出错!" + ex.Message);}finally{if (conn != null){//关闭数据库连接conn.Close();}}
}

4.2.使用SqlDataApater + DataTable + bingingSource + DataGridView 读取数据

string strConn = "Data Source=127.0.0.1;Initial Catalog=TEST;Persist Security Info=True;User ID=sa;Password=********;Encrypt=False";
SqlConnection con = null;
con = new SqlConnection(strConn);
con.Open();
string strSql = "select * from testtask";
SqlDataAdapter ada = new SqlDataAdapter(strSql, con);
DataTable myTable = new DataTable();
ada.Fill(myTable);bindingSource1.DataSource = myTable;this.dataGridView1.DataSource = bindingSource1;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/7471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

瑞萨RH850 SPI的异步传输

一、SPI工作原理 SPI (Serial Peripheralinterface),顾名思义就是串行外围设备接口。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间&#xff0…

深度解读:Agent AI智能体如何重塑我们的现实和未来|TodayAI

​​​​​​​ 一、 引言 在当今时代,人工智能(AI)技术的快速发展正不断改变着我们的生活与工作方式。尤其是Agent AI智能体,作为AI技术中的一种重要形式,它们通过模拟人类智能行为来执行各种复杂任务,从…

如何从Mac上的清空垃圾箱中恢复已删除的文件?

Mac用户几乎每天都会删除文件。当您将文档删除到 Mac 垃圾箱时,该文件将被剪切到 Mac 垃圾箱中,并且可以轻松放回原处。但是,在某些情况下,您错误地删除了文档和文件,并在您意识到自己犯了一个大错误之前清空了垃圾箱。…

【Leetcode 42】 接雨水-单调栈解法

基础思路: 维持栈单调递减,一旦出现元素大于栈顶元素,就可以计算雨水量,同时填坑(弹出栈顶元素) 需要注意: 单调栈通常保存的是下标,用于计算距离 public static int trap2(int[…

TypeScript type类型别名

文章目录 1. 基本类型别名2. 对象类型别名3. 交叉类型(Intersection Types)4. 联合类型(Union Types)5. 映射类型(Mapped Types)6. 条件类型(Conditional Types)7. 索引访问类型&…

GRUB常见操作

1、内核启动参数——如何修改启动命令? 1、修改/etc/default/grub 这个文件是生成grub.cfg文件时候的基础参考文件,我们需要修改的内核启动参数就定义在GRUB_CMDLINE_LINUX。 # Set by curtin fast-path installer. GRUB_TIMEOUT5 GRUB_DEFAULT0 GRUB…

leetcode-缺失的第一个正整数-96

题目要求 思路 1.这里的题目要求刚好符合map和unordered_map 2.创建一个对应map把元素添加进去,用map.find(res)进行查找,如果存在返回指向该元素的迭代器,否则返回map::end()。 代码实现 class Solution { public:int minNumberDisappeare…

一文快速掌握高性能内存队列Disruptor

写在文章开头 Disruptor是英国外汇公司LMAX开源的一款高性能内存消息队列,理想情况下单线程可支撑600w的订单。所以本文会从使用以及设计的角度来探讨一下这款神级java消息队列。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java code…

【Java基础】JVM内存简单介绍

JVM把内存分为五块:栈、堆、方法区、本地方法区、寄存器当函数被调用时,函数内部的局部变量在栈中开辟内存,当局部变量的作用域结束时,立刻释放栈中所占据的内存。 栈 栈的特点:先进后出当函数被调用时,为…

unity制作app(5)--发送数据给数据库

这个之前做过,先不做照片的。下一节再做带照片的。 第一步 收集数据 1.先做一个AppModel结构体,这个结构体需要单做的。 using System; using System.Collections.Generic; using System.Linq; using System.Text; //using Assets.Model; public clas…

【Linux】System V 共享内存

文章目录 1. 共享内存示意图2. 共享内存数据结构3. 共享内存函数shmgetshmatshmdtshmctl 4. 实例代码测试共享内存5. 共享内存相关命令6. System V 消息队列(了解)7. System V 信号量(了解) 共享内存区是最快的 IPC 形式。一旦这样…

webpack4和webpack5区别3---缓存

webpack4缓存 使用打包的目的是提升项目启动速度,提升开发体验,webpack的打包方式就是把项目内全部文件都走一遍loader和babel处理,所以项目文件内容越来越多,启动的时间就越来越长,随随便便就 run 一分钟。 webpack4 …

力扣每日一题109:有序链表转换二叉搜索树

题目 中等 给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0,-3,9,-10,null,5],它…

unity中浮点数只保留一位小数

如果你想在 Unity 中保留浮点数的一位小数,你可以使用 ToString() 方法并指定格式化字符串,或者使用 Mathf.Round() 方法来四舍五入到一位小数。以下是两种方法的示例: 使用 ToString() 方法: float floatValue 3.456f; floa…

Linux进程间通信方式

每个进程的用户空间都是独立的,不能相互访问。 所有进程的内核空间(32位系统3G-4G)都是共享的 应用场景 作为缓冲区,处理速度不同的进程之间的数据传输资源共享:多个进程之间共享同样的资源,一个进程对共享数据的修改&#xff0c…

【目录】500 行或更少(500 Lines or Less)

AOSA 500 行或更少(500 Lines or Less)是《开源应用程序体系结构》(Architecture of Open Source Applications, AOSA)系列的第四卷。该系列的前三卷是关于大型程序必须解决的大问题,而本书专注于程序员在构建新事物时在小规模中做出的设计决…

亚马逊自养号测评环境搭建需要准备哪些?

在当下电商领域竞争白热化的背景下,亚马逊平台的卖家们对流量之于店铺转化率的重要性有着深刻的认识。随着对平台内部流量的依赖逐渐减弱,他们纷纷寻求更多元化的途径来提升销售业绩和品牌的市场影响力。在此过程中,自养号测评成为了一种备受…

Android 11.0 mtk平台系统添加公共so库的配置方法

1.前言 在11.0的系统ROM产品定制化开发中,由于 Android对应用应用的系统库限制越来越严格,上层应用包括(apk、jar包)不能直接引用系统的一些so库了。如果需要使用,只能使用,系统申明的公共库。 如果使用非系统申明的公共库,apk运行后调用该so库时,app会直接挂掉,或者…

VSFTP超详细安装教程

目录 简介 一、安装 1、安装准备 2、安装检查 3、创建帐户 4、修改PAM 5、关闭SELinux 二、VSFTP相关配置 三、重启并访问 四、卸载VSFTP 简介 VSFTP(也称为 VSFTPD,代表 "Very Secure FTP Daemon")是一个用于实现 FTP …

Golang日志实战教程:掌握log与syslog库的高效使用

Golang日志实战教程:掌握log与syslog库的高效使用 简介理解 Golang 的 log 库基本概念创建日志记录器自定义日志记录器日志级别 深入 syslogsyslog 的基础配置和使用 syslog高级应用 日志格式化与管理日志格式化日志文件管理 日志的高级应用集成第三方日志框架使用 …