C#中.NET Framework4.8 Windows窗体应用通过EF访问数据库并对数据库追加、删除记录
目录
一、应用程序设计
二、应用程序源码
三、生成效果
前文作者发布了在.NET Framework4.8 控制台应用中通过EF访问已有数据库,事实上在.NET Framework4.8 Windows窗体应用中通过EF访问已有数据库也是一样的。操作方法基本一样,数据库EF模型和上下文都是自动生成的,在这里不再重复叙述,只把应用部分、窗体设计、生成效果分享出来。
一、应用程序设计
设计有一个窗体,dataGridView1显示数据库的数据表blog,textBox1的文本是要追加记录的网址,button1是追加按钮。textBox2的文本是要删除记录的ID,button2是删除按钮。
二、应用程序源码
//.NET Framework4.8窗体应用通过EF访问已有数据库
//追加、删除数据库记录
using System;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;namespace _10_7
{public partial class Form1 : Form{public Form1(){InitializeComponent();}/// <summary>/// 初始化Form1/// 初始化表格,显示数据表/// </summary>private void Form1_Load(object sender, EventArgs e){button1.Text = "追加";button2.Text = "删除";label1.Text = "追加的Url:";label2.Text = "删除的ID:";button1.Size = new Size(40, 23);button2.Size = new Size(40, 23);dataGridView1.AllowUserToAddRows = false;dataGridView1.AllowUserToDeleteRows = false;dataGridView1.AllowUserToResizeColumns = false;dataGridView1.AllowUserToResizeRows = false;dataGridView1.RowHeadersVisible = false;dataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells;using (var db = new BloggingContext()){dataGridView1.DataSource = db.Blog.ToList();} }/// <summary>/// 追加Add()/// 无论ID是否连续,都在数据库末尾追加新纪录/// </summary>#region 追加private void Button1_Click(object sender, EventArgs e){using (var db = new BloggingContext()){if (textBox1.Text != ""){db.Blog.Add(new Blog { Url = textBox1.Text.Trim().ToString() }); //追加记录db.SaveChanges();dataGridView1.DataSource = db.Blog.ToList();}else{db.Blog.Add(new Blog { Url = "http://www.hao123.com/" }); //追加记录db.SaveChanges();dataGridView1.DataSource = db.Blog.ToList();}}}#endregion 追加/// <summary>/// 删除Remove()/// </summary>#region 删除记录private void Button2_Click(object sender, EventArgs e){using (var db = new BloggingContext()){ db.Blog.Remove(new Blog { BlogId = Convert.ToInt32(textBox2.Text.Trim()) }); //删除记录按IDdb.SaveChanges();dataGridView1.DataSource = db.Blog.ToList();}}#endregion 删除记录}
}
三、生成效果


相关文章:
C#中.NET Framework4.8 Windows窗体应用通过EF访问数据库并对数据库追加、删除记录
目录 一、应用程序设计 二、应用程序源码 三、生成效果 前文作者发布了在.NET Framework4.8 控制台应用中通过EF访问已有数据库,事实上在.NET Framework4.8 Windows窗体应用中通过EF访问已有数据库也是一样的。操作方法基本一样,数据库EF模型和上下文…...
使用Filebeat+Kafka+Logstash+Elasticsearch构建日志分析系统
随着时间的积累,日志数据会越来越多,当您需要查看并分析庞杂的日志数据时,可通过FilebeatKafkaLogstashElasticsearch采集日志数据到Elasticsearch中,并通过Kibana进行可视化展示与分析。本文介绍具体的实现方法。 一、背景信息 …...
后端接口错误总结
今天后端错误总结: 1.ConditionalOnExpression(“${spring.kafka.exclusive-group.enable:false}”) 这个标签负责加载Bean,因此这个位置必须打开,如果这个标签不打开就会报错 问题解决:这里的配置在application.yml文件中 kaf…...
将scut-seg标签转化成通用coco标签
行人实例分割 import json import osdef calculate_bounding_rectangle(coordinates):# 提取x和y坐标的列表x_coords [coord[0] for coord in coordinates]y_coords [coord[1] for coord in coordinates]# 计算矩形的左上角坐标min_x min(x_coords)min_y min(y_coords)# 计…...
阿里云添加端口
目录 阿里云添加端口的方法与步骤详解 一、登录阿里云控制台 二、创建安全组 三、添加入站规则 四、添加出站规则 五、完成添加端口操作 也可 1:搜索轻量级服务器 2:点击服务器 3:点击添加规则 4:保存即可 总结 阿里云…...
Linux组调度
为什么引入组调度可以参考这篇文章的讨论。核心原因是基础的调度算法都是基于任务的,如果用户A有10个任务,用户B只有1个任务,假设这些任务的优先级都相同,那么用户A得到的CPU时间将是用户B的10倍,这样从任务的角度看虽…...
深入解析JavaScript中的变量作用域与声明提升
JS中的变量作用域 背景: 之前做js逆向的时候,有一个网站很有意思,就是先出现对其赋值,但是后来的变量赋值没有对其发生修改,决定说一下js中的作用域问题. 全局作用域: 全局作用域的变量可以在任何…...
【Python】jupyter notebook(学习笔记)
Jupyter Notebook初见 1、Jupyter Notebook介绍 web版的ipython 编程、写文档、记笔记、展示 格式.ipynb 2、为什么使用Jupyter Notebook? 画图方面的优势:图像的生成不会堵塞后面代码的执行数据展示方面的优势:生成的数据可以保存在文件中 3、J…...
红色旅游AR互动体验将景区推向更广泛的市场
AR技术的出现使得各展厅观众可以在虚拟和现实的层面进行互动,利用AR和VR技术,将展览地点扩展到特定的虚拟领域,实现了"无触觉"交互体验,增强现实技术和展馆的对接更加激发人们了解新事物的兴趣。 一、AR景区:…...
VR全景:打造虚拟政务服务,打通服务群众“最后一公里”
大家对政务大厅的工作效率可能已经司空见惯,办事窗口少,而需要办理的群众和业务却很多,很多去政务大厅办理业务的,排队几个小时也是常有的。并且在传统政务服务中,办事流程一般都较为复杂、耗时长,往往需要…...
PyCharm 安装库时显示连接超时
在setting->python Interpreter 中用“” 安装库时,出现一个弹窗,提示信息如下: Error updating package list: Connect timed out 通过查阅资料,发现是镜像源的问题,具体的解决方案如下: 1. 更新一下…...
那些让我苦笑不得的 Bug:编码之路的坎坷经历
文章目录 1. CSS 中的样式“消失”问题2. JavaScript 的变量命名引发的混乱3. 时间格式的困扰4. 数据库查询条件引发的错误结语 🎉欢迎来到Java学习路线专栏~那些让我苦笑不得的 Bug:编码之路的坎坷经历 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨…...
http接口测试—自动化测试框架设计
一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值(Json格式) 输出:字符串(传入的方式传入的字符串) http://localhost:8090/lctest/TestServer 二、程序设计…...
HTML 之常用标签的介绍
文章目录 h标签p标签a标签img 标签table、tr、td标签ul、ol、li 标签div 标签 h标签 <h> 标签用于定义 HTML 文档中的标题,其中 h 后面跟着一个数字,表示标题的级别。HTML 提供了 <h1> 到 <h6> 六个不同级别的标题,其中 &…...
数据恢复入门分享-启动扇区
启动扇区位于存储区的前端,一般显示如下 如果扇区数据丢失或者错误 存储器也就不能识别和数据存储了 关注我们,不定期分享互联网数字化的干货 #数据恢复##储存卡##启动扇区#...
解决Chrome无法自动同步书签
前提:(要求能正常访问google) 准备一个谷歌账号 安装Chrome浏览器 开启集装箱插件(或者其他能访问谷歌的工具) 步骤:(使用集装箱插件/能正常访问谷歌的其他工具) 下载安装使用“集…...
Java绘图-第19章
Java绘图-第19章 1.Java绘图类 1.1Graphics类 Graphics类是用于绘制图形的抽象类,它是java.awt包中的一部分。Graphics类提供了各种方法,可以在图形上绘制各种形状、文本和图像。这些方法包括画线、画矩形、画椭圆、画弧、绘制图像等。 1.2Graphics2…...
SpringBoot文件在线预览实现
kkFileView - 在线文件预览,一款成熟且开源的文件文档在线预览项目解决方案。 详细wiki文档:https://gitee.com/kekingcn/file-online-preview/wikis/pages 中文文档:https://gitee.com/kekingcn/file-online-preview/blob/master/README.md…...
cudnn安装
安装地址 cudnn安装地址:https://developer.nvidia.com/rdp/cudnn-download 安装 选择windows版本的下载,我这里选择的这个: 下载之后解压即可。 后续 后续:第一步 把cudnn的bin,include,lib三个文件…...
uni-app发布后iOS端页面背景图片上下滑动问题
问题分析 uni-app发布后iOS端页面背景图片会跟着上下滑动。 解决方案 在pages.json文件中添加配置"bounce": "none" {"pages": [{"path": "pages/login/login","style": {"navigationStyle": "…...
当SPC焕发新生:云质信息重构制造质量管理新范式
传统SPC:那些让人头疼的“老毛病”说实话,很多企业斥巨资引入的SPC软件,实际使用体验与高级版Excel相差无几。数据需手动导入,图表需逐一点选生成,想要进行跨维度分析,更是要先将数据导出,借助其…...
AG-UI协议实战:构建智能体驱动的动态前端交互系统
1. AG-UI协议:智能体与前端交互的新范式 第一次听说AG-UI协议时,我正在为一个电商项目头疼——后台AI生成的商品推荐总需要手动同步到前端,代码里到处是setState和事件监听。直到发现这个协议,才明白原来智能体和前端可以像两个老…...
VBA数据库解决方案第二十九讲 如何批量修改数据库中的数据
《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...
AI命理工具实测:主流大模型八字紫微能力对比及避坑指南
1. AI命理新风向:当大模型碰撞传统术数 最近身边刮起了一阵“AI命理”的热潮:做开发的朋友电脑里存着排盘工具包,运营岗的同事午休时在研究紫微斗数星曜含义,就连开策划会的间隙,都有人拿着AI输出的六爻结果讨论项目走…...
MotorController:嵌入式伺服电机驱动的确定性执行封装
1. 项目概述MotorController是一个面向伺服系统电机控制的轻量级工具类,其设计目标并非替代完整的运动控制固件栈,而是为嵌入式工程师提供一套可直接集成、低侵入、高可控性的底层电机驱动封装。该类不依赖特定硬件抽象层(HAL)或实…...
Cursor Pro功能突破解决方案:基于cursor-free-vip的完整技术指南
Cursor Pro功能突破解决方案:基于cursor-free-vip的完整技术指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reache…...
嵌入式C++轻量级生命体基类:面向OOP的零开销实体抽象
1. 项目概述life_entity是一个面向嵌入式系统与游戏逻辑建模场景设计的轻量级 C 基类,其核心定位并非通用游戏引擎组件,而是为资源受限环境(如 Cortex-M3/M4 微控制器运行 FreeRTOS 或裸机实时调度器)中实现可继承、可多态、可生命…...
VictoriaMetrics 集群版实战指南:架构解析与最佳实践
1. VictoriaMetrics集群版架构深度解析 第一次接触VictoriaMetrics集群版时,我被它简洁的组件划分惊艳到了。与常见的时序数据库不同,它的三大核心组件vmstorage、vminsert、vmselect各司其职,这种设计让横向扩展变得异常灵活。在实际部署中&…...
【若依】框架:从零构建前后端分离项目实战
1. 环境准备与项目初始化 第一次接触若依框架时,我被它"开箱即用"的特性惊艳到了。这个基于Spring Boot的权限管理系统,前后端分离架构设计得非常清晰。下面我会手把手带你完成环境搭建,过程中遇到的坑也会一并说明。 开发环境需要…...
Cocos Creator 屏幕适配实战:从设计分辨率到完美适配的完整指南
1. 理解屏幕适配的核心概念 第一次用Cocos Creator做横屏游戏时,我盯着iPad和手机上完全变形的UI界面愣了半天。这才明白为什么老司机们总说:"屏幕适配不做,上线火葬场"。屏幕适配的本质是解决设计分辨率(美术产出资源时…...
