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 删除记录}
}

三、生成效果

 

 

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

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

相关文章

TikTok与心灵成长:娱乐与启发并重

社交媒体已成为我们生活的一部分&#xff0c;其中TikTok以其短视频内容和创新性而闻名。然而&#xff0c;TikTok不仅仅是一个娱乐平台&#xff0c;它还具有潜力成为心灵成长的有力工具。本文将探讨TikTok如何在娱乐与启发之间取得平衡&#xff0c;以促进心灵成长和积极影响。 娱…

大环境之下软件测试行业趋势能否上升?

如果说&#xff0c;2021年对于全世界来说&#xff0c;都是一场极大的挑战的话&#xff1b;那么&#xff0c;2022年绝对是机遇多多的一年。众所周知&#xff0c;随着疫情在全球范围内逐步得到控制&#xff0c;无论是国际还是国内的环境&#xff0c;都会呈现逐步回升的趋势&#…

阿里云国际站:密钥管理服务

文章目录 一、密钥管理服务的概念 二、密钥管理服务的功能 三、密钥管理服务的优势 一、密钥管理服务的概念 密钥管理服务KMS&#xff08;Key Management Service&#xff09;是您的一站式密钥管理和数据加密服务平台、一站式凭据安全管理平台&#xff0c;提供简单、可靠、…

学开发语言 求职互联网行业的未来发展

我喜欢回答各种各样的问题&#xff0c;自然也喜欢记录下自己的一些观点和看法。希望给朋友们多一点参考&#xff0c;也欢迎交流探讨。 提问&#xff1a; 自考本科&#xff0c;学的开发语言&#xff0c;问互联网行业求职和发展&#xff01; 作为一个资深码农&#xff0c;对这样…

2.3.5 交换机的VRRP技术

实验2.3.5 交换机的VRRP技术 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.交换机的基本配置 六、任务验收七、任务小结 一、任务描述 某公司的网络核心层原来采用一台三层交换机&#xff0c;随着网络应用的日益增多&#xff0c;对网络的可靠性也提出了越来…

win环境Jenkins高级配置各种插件和启动jar包

今天分享Jenkins高级配置各种插件&#xff0c;在看此篇之前必须先了解上一篇博客内容&#xff0c;因为此篇是在上篇的基础上完善的&#xff1a; 一、git仓库的多分支选择 想要多分支选择部署&#xff0c;需要全局安装Git parameter 插件 1、点击入口 来到 2、点击进入 安装一…

JVM查看内存新生代老年代回收情况,排查oom

jstat 命令 jstat - [-t] [-h] [ []] option&#xff1a;我们经常使用的选项有gc、gcutil vmid&#xff1a;java进程id interval&#xff1a;间隔时间&#xff0c;单位为毫秒 count&#xff1a;打印次数 每秒打印一次 jstat -gc 9162 1000S0C:年轻代第一个survivor的容量…

【设计原则篇】聊聊开闭原则

开闭原则 其实就是对修改关闭&#xff0c;对拓展开放。 是什么 OCP&#xff08;Open/Closed Principle&#xff09;- 开闭原则。关于开发封闭原则&#xff0c;其核心的思想是&#xff1a;模块是可扩展的&#xff0c;而不可修改的。也就是说&#xff0c;对扩展是开放的&#xf…

Blender--》点线面操作及其面操作的详解

接下来我会在three.js专栏中分享关于3D建模知识的文章&#xff0c;如果学习three朋友并且想了解和学习3D建模&#xff0c;欢迎关注本专栏&#xff0c;关于这款3D建模软件blender的安装&#xff0c;我在前面的文章已经讲解过了&#xff0c;如果不了解的朋友可以去考考古&#xf…

MySQL 社区开源备份工具 Xtrabackup 详解

文章目录 前言1. Xtrabackup 介绍1.1 物理备份与逻辑备份区别1.2 Xtrabackup 系列版本 2. Xtrabackup 部署2.1 下载安装包2.2 二进制部署2.3 程序文件介绍2.4 备份需要的权限 3. Xtrabackup 使用场景3.1 本地全量备份3.2 本地压缩备份3.3 全量流式备份3.3.1 备份到远程主机3.3.…

批量重命名软件推荐 A Better Finder Rename 12最新 for mac

A Better Finder Rename的大量重命名选项被组织成15个直观的类别&#xff0c;涵盖了一个伟大的文件重命名器所期望的所有文本&#xff0c;字符&#xff0c;位置&#xff0c;转换和截断功能。 除此之外&#xff0c;A Better Finder Rename提供了更多高级功能&#xff0c;可以满…

C 语言数组

C 语言数组 在本教程中&#xff0c;您将学习如何使用数组。您将借助示例学习如何声明&#xff0c;初始化和访问数组的元素。 数组是可以存储多个值的变量。例如&#xff0c;如果要存储100个整数&#xff0c;则可以为其创建一个数组。 示例 cint data[100];如何声明数组&…

【算法】最短路径——迪杰斯特拉 (Dijkstra) 算法

目录 1.概述2.代码实现2.1.节点类2.2.邻接矩阵存储图2.3.邻接表存储图2.4.测试 3.扩展3.1.只计算一对顶点之间的最短路径3.2.获取起点到其它节点具体经过的节点 4.应用 本文参考&#xff1a; LABULADONG 的算法网站 1.概述 &#xff08;1&#xff09;在图论中&#xff0c;最短…

iOS OpenGL ES3.0入门实践

一、效果图 入门实践&#xff0c;做的东西比较简单&#xff0c;效果如下&#xff1a; 二、关于顶点坐标和纹理坐标 绘制图片需要设置顶点坐标和纹理坐标并加载像素数据&#xff0c;之所以要指定两组坐标是因为纹理和顶点使用不同的坐标系&#xff0c;就是告诉OpenGL&#xf…

Spring整合redis的key时出现\xac\xed\x00\x05t\前缀问题

AutowiredRedisTemplate redisTemplate;User usernew User(5,"tomhs","tttt");ValueOperations opsForValue redisTemplate.opsForValue();//存放key,opsForValue.set("user"user.getId(),user);//读取数据;System.out.println(opsForValue.get…

NLP领域的突破催生大模型范式的形成与发展

当前的大模型领域的发展&#xff0c;只是范式转变的开始&#xff0c;基础大模型才刚刚开始改变人工智能系统在世界上的构建和部署方式。 1、大模型范式 1.1 传统思路&#xff08;2019年以前&#xff09; NLP领域历来专注于为具有挑战性的语言任务定义和设计系统&#xff0c…

【广州华锐互动】VR居家防火逃生模拟演练增强训练的真实性

VR软件开发公司广州华锐互动在消防培训领域已开发了多款VR产品&#xff0c;今天为大家介绍VR居家防火逃生模拟演练系统&#xff0c;这是一种基于虚拟现实技术的消防教育训练设备&#xff0c;通过模拟真实的火灾场景&#xff0c;让使用者身临其境地体验火灾逃生过程&#xff0c;…

qemu 之 uboot、linux 启动

目录 编译uboot、kernel 编译启动从 uboot 中引导启动 linux注参考 本文主要说明 arm64 在 qemu 上的相关启动。 编译 使用的是 qemu-8.1.1 版本&#xff0c;编译命令如下: ../configure --cc/usr/local/bin/gcc --prefix/home/XXX/qemu_out --enable-virtfs --enable-slir…

基于安卓android微信小程序的食谱大全系统

项目介绍 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对食谱大全进行需求分析&#xff0c;得出食谱大全主要功能。接着对食谱大全进行总体设计和详细设计。总体设…

多种格式图片可用的二维码生成技巧,快来学习一下

将图片存入二维码是现在很常见的一种图片展现方式&#xff0c;有效的节省了图片占用内容空间以及获取图片内容的速度&#xff0c;所以现在会有很多人将不同的图片、照片生成二维码展示。如何使用图片二维码生成器来快速生成二维码呢&#xff1f;下面就让小编来给大家分享一下图…