C#学习(四)C#连接Mysql实现增删改查

news2024/11/15 7:02:48

博主刚开始接触C#,本系列为学习记录,如有错误欢迎各位大佬指正!期待互相交流!

文章目录

  • 一、安装Mysql
    • 1.1 启用Mysql
    • 1.2 登录Mysql
  • 二、安装Navicat
    • 2.1 建立连接
    • 2.2 新建数据库
    • 2.3 新建表
  • 三、创建Winform实现增、删、改、查
    • 3.1 下载插件
    • 3.3 将库添加到工程
    • 3.4 创建窗体界面
    • 3.5 查询
    • 3.6 添加
    • 3.7 删除
    • 3.8 修改
  • 四、实现效果
    • 4.1 查询
    • 4.2 添加
    • 4.3 删除
    • 4.4 修改

一、安装Mysql

我们首先来安装Mysql,由于博主也是跟着其他大佬的帖子一步一步成功的,就不再班门弄斧再写一遍了,详细的安装教程大家可以移步到这篇文章MySQL超详细安装配置教程(亲测有效)。

1.1 启用Mysql

以管理员身份打开cmd窗口,输入下面的指令开启Mysql服务

net start mysql

如果想要关闭Mysql服务,输入下面的指令即可

net stop mysql

1.2 登录Mysql

首先保证已经开启了Mysql服务,之后还是以管理员身份打开cmd窗口,之后输入下面的指令

mysql -u root -p

u后面跟的是用户名,一般默认的用户名是root,之后回车会提示输入密码,输入密码后就可以进入了

登录

二、安装Navicat

我们安装完Mysql之后为了方便操作数据库,下面我们安装一下Navicat,它能帮助我们更加方便简洁地操作数据库,具体的安装方法大家可以移步至这篇大佬的文章,这里就不多做介绍了Navicat16\17安装和激活详细讲解(全网最简单且靠谱)。

安装完之后我们更重要的是了解如何使用它来操作我们的数据库,下面我们通过一个小例子来演示一下如何操作。

2.1 建立连接

双击进入软件后点击左上方的连接,选择Mysql

建立连接
之后取一个连接名,输入你的Mysql密码
建立连接信息配置
点击左下方的测试连接,如果提示连接成功就说明没有问题。

2.2 新建数据库

我们双击刚刚创建了连接可以看到下面是有文件的,右键连接,选择新建数据库

新建数据库
设置好数据库名称和相关信息,点击确定完成创建

新建数据库

2.3 新建表

双击我们刚刚创建的数据库,下面有一个表,右键选择新建表

新建表

之后在表中添加两个字段,保存

添加字段
新建的表

双击刚刚新建的表即可编辑,跟excel类似,上面添加的字段就可以理解为表头,下面是一行一行的元素,在下方有添加一行,删除一行,确认等按键

编辑表格时用到的按键

三、创建Winform实现增、删、改、查

首先我们先按照上面的方法创建一个表格,在表格中添加几个元素

数据库表格

3.1 下载插件

要想实现Winform与Mysql连接,我们需要先下载与本机Mysql版本相近的插件,可以去Mysql官网下载,插件下载链接

下载插件
下载插件
下载插件

Mysql版本在cmd窗口登陆时会显示,如果没有和本机Mysql版本相符的插件可以选择更高版本的插件,一般是向下兼容的

下载安装完成后会在安装目录中出现这个文件,后面我们会用到

库文件

3.3 将库添加到工程

在VS中按照上一篇文章介绍的新建一个Winform工程,右键工程,选择添加,选择引用

添加引用

将上面的.dll文件添加进来

添加引用库

3.4 创建窗体界面

按照上一篇文章介绍的,我们先创建一个下面这种窗体界面

窗体界面
我们想实现增删改查功能,点击查询可以在下面的dataGridView控件中显示数据库中表格的数据,点击增加,输入用户名和密码后可以存入数据库,点击删除可以按照用户名删除用户,点击修改可以按照用户名修改密码。

3.5 查询

首先我们实现查询功能,能够查询出数据库表格中现有的元素。在程序中引用我们的库

using MySql.Data.MySqlClient;

新建一个字符串用来创建连接

string mysqlcon = "server=localhost;database=数据库名称;user=用户名;password=密码";

创建一个连接对象

MySqlConnection con = new MySqlConnection(mysqlcon);

下面的代码实现查询功能,查询完成后关闭连接

string strcmd = "select * from listtest";
MySqlCommand cmd = new MySqlCommand(strcmd, con);
MySqlDataAdapter ada = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
ada.Fill(ds);   // 查询结果填充数据集
dataGridView1.DataSource = ds.Tables[0];
Console.WriteLine("查询成功!");
con.Close();   // 关闭连接
Console.WriteLine("已关闭连接!");

3.6 添加

下面我们来实现一下添加功能,我们要实现的效果是点击“添加”按钮,弹出一个窗口输入要添加的用户名和密码,点击新窗口中的“添加”之后完成添加,首先右键项目,选择添加,新建一个窗体

新建窗体

在新窗体中添加以下控件

添加窗体

双击“添加”按键,编写响应函数

MySqlConnection con = new MySqlConnection(mysqlcon);
con.Open();
string sql2 = $"INSERT INTO listtest (UserName,Password)VALUES('{textBox1.Text}','{textBox2.Text}')";
MySqlCommand mycommand1 = new MySqlCommand(sql2, con);
mycommand1.ExecuteNonQuery();
Console.WriteLine("数据添加成功!");
con.Close();
Console.WriteLine("已关闭连接!");
this.Close();

注意在窗体二的.cs文件中也要加上库的引用和创建连接字符串的定义。

我们给窗体1中的添加按键编写弹出窗体2的函数

Form2 frm2 = new Form2();//创建form2的对象
frm2.Show();

3.7 删除

删除我们要实现的是点击窗体1中的“删除”按键,弹出新的窗体,之后在新的窗体中输入要删除的用户名,再点击新窗体中的“删除”即可实现删除功能,新建窗体的方法以及弹出新窗体的方法和上面相同,窗体与“删除”按键的实现代码如下

删除窗体

MySqlConnection con = new MySqlConnection(mysqlcon);
con.Open();
string sql3 = $"DELETE FROM listtest WHERE UserName = '{textBox1.Text}'";
MySqlCommand mycommand2 = new MySqlCommand(sql3, con);
mycommand2.ExecuteNonQuery();
Console.WriteLine("数据删除成功!");
con.Close();
Console.WriteLine("已关闭连接!");
this.Close();

3.8 修改

修改与上面的实现方法一样,点击窗体1中的修改后会弹出一个新的窗体,输入要修改的用户名,输入新的密码,之后点击“修改”按键即可完成修改,修改功能窗体与实现代码如下

修改窗体

MySqlConnection con = new MySqlConnection(mysqlcon);
con.Open();
string sql4 = $"UPDATE listtest SET Password = '{textBox2.Text}' WHERE UserName = '{textBox1.Text}'";
MySqlCommand mycommand3 = new MySqlCommand(sql4, con);
mycommand3.ExecuteNonQuery();
Console.WriteLine("修改成功!");
con.Close();
Console.WriteLine("已关闭连接!");
this.Close();

四、实现效果

4.1 查询

查询实现效果

4.2 添加

添加实现效果

4.3 删除

删除实现效果

4.4 修改

修改实现效果

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

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

相关文章

医学数据分析实训 项目七 集成学习--空气质量指标--天气质量分析和预测

项目七:集成学习 实践目的 理解集成学习算法原理;熟悉并掌握常用集成学习算法的使用方法;熟悉模型性能评估的方法;掌握模型优化的方法。 实践平台 操作系统:Windows7及以上Python版本:3.8.x及以上集成开…

ubuntu安装wordpress(基于LNMP环境)

参考链接 Ubuntu安装LNMP 安装步骤 环境需要LNMP环境,如果没有安装可以参考ZATA—LNMP简单安装 在mysql中设置wordpress所用的用户名和密码 #1. 登录mysql mysql -uroot -p #2. 创建wordpress数据库 create database wordpress; #3. 创建新用户user,…

【有啥问啥】深入解析 OpenAI o1 模型家族:推理能力的跃升与应用场景

深入解析 OpenAI o1 模型家族:推理能力的跃升与应用场景 随着人工智能的不断发展,推理能力已经成为影响 AI 系统性能的关键因素。2024 年 9 月 12 日【好家伙,在笔者生日当天ヘ(ー`ヘ)搞事情】,O…

腾讯百度阿里华为常见算法面试题TOP100(5):子串、堆

之前总结过字节跳动TOP50算法面试题: 字节跳动常见算法面试题top50整理_沉迷单车的追风少年-CSDN博客_字节算法面试题 子串 560.和为K的子数组

谷歌云推出全新区块链RPC服务:简化Web3开发

2024年9月,谷歌云(Google Cloud)宣布推出区块链RPC(远程过程调用)服务的预览版,进一步表明其支持Web3开发者的承诺。此次发布旨在简化开发者与区块链数据的交互,降低Web3应用开发的技术门槛。这…

制作U盘安装操作系统(启动盘、系统盘、Windows、Linux)

第一种(Windows) 官网windows制作启动盘 1. 打开Win11下载官网 下载 Windows 11https://www.microsoft.com/zh-cn/software-download/windows11 2. 下载制作操作系统工具 这里不要下载错了 3. 启动工具 选择U盘,选择你的U盘即可&#xf…

[Redis][环境配置]详细讲解

目录 1.安装 && 简单配置2.文件目录说明3.客户端 1.安装 && 简单配置 Ubuntu下,直接使用sudo apt install redis -y即可支持远程连接:修改/etc/redis/redis.conf 将bind 127.0.0.1改为bing 0.0.0.0作为学习用途,可以将prote…

vue3前端开发-小兔鲜超市-本地购物车列表页面的统计计算

vue3前端开发-小兔鲜超市-本地购物车列表页面的统计计算!这一次,实现了一些本地购物车列表页面的,简单的计算。 代码如下所示: import { computed, ref } from vue import { defineStore } from pinia export const useCartStor…

新升级|优化航拍/倾斜摄影模型好消息,支持处理多套贴图模型!

【天元轻量化软件】一直在不断地追求进步和完善,以满足更多用户的各种需求。 电脑登录天元官网免费体验:天元轻量化软件官网 本次我们对“智能PBR”功能进行了更新。更新后的“智能PBR”支持带多套贴图的模型进行使用。 本轮更新后,主要受益…

统信服务器操作系统【1050e版】安装手册

统信服务器操作系统1050e版本的安装 文章目录 功能概述一、准备环境二、安装方式介绍安装步骤步骤一:制作启动盘步骤二:系统的安装步骤三:安装引导界面步骤四:图形化界面安装步骤五:选择安装引导程序语言步骤六:进入安装界面步骤七:设置键盘步骤八:设置系统语言步骤九:…

音视频入门基础:AAC专题(8)——FFmpeg源码中计算AAC裸流AVStream的time_base的实现

一、引言 本文讲解FFmpeg源码对AAC裸流行解复用(解封装)时,其AVStream的time_base是怎样被计算出来的。 二、FFmpeg源码中计算AAC裸流AVStream的time_base的实现 FFmpeg对AAC裸流进行解复用(解封装)时,其…

Docker 镜像制作(Dockerfile)

1 Dockerfile 概念 Dockerfile 是什么? 镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,这个脚本就是 Dockerfile。 Dockerfile 是一个文本文件&a…

CVE-2024-2389 未经身份验证的命令注入

什么是 Progress Flowmon? Progress Flowmon 是一种网络监控和分析工具,可提供对网络流量、性能和安全性的全面洞察。Flowmon 将 Nette PHP 框架用于其 Web 应用程序。 未经身份验证的路由 我们开始在“AllowedModulesDecider.php”文件中枚举未经身份验证的端点,这是一个描…

superset 解决在 mac 电脑上发送 slack 通知的问题

参考文档: https://superset.apache.org/docs/configuration/alerts-reports/ 核心配置: FROM apache/superset:3.1.0USER rootRUN apt-get update && \apt-get install --no-install-recommends -y firefox-esrENV GECKODRIVER_VERSION0.29.0 RUN wget -q https://g…

边缘智能-大模型架构初探

R2Cloud接口 机器人注册 请求和应答 注册是一个简单的 HTTP 接口,根据机器人/用户信息注册,创建一个新机器人。 请求 URL URLhttp://ip/robot/regTypePOSTHTTP Version1.1Content-Typeapplication/json 请求参数 Param含义Rule是否必须缺省roboti…

活动系统开发之采用设计模式与非设计模式的区别-后台功能总结

1、数据库ER图 2、后台功能字段 题目功能字段 数据列表 编号题目名称选项数量状态 1启用0禁用创建时间修改时间保存 题目名称选项集 选项内容是否正确答案 1正确0错误启禁用删除素材图库功能字段 数据列表 编号原文件名称文件类型文件大小加密后文件名文件具体路径上传类型状态…

为您的任意模型赋能——RAG

随着大语言模型的参数规模越来越大,微调模型的代价越来越大,于是知识检索增强的方式成为越来越主流的选择。通过提前准备好的知识库,在模型进行推理之前进行知识检索作为上下文一同交给大模型进行推理,从而提升大模型对领域知识的…

kafka 一步步探究消费者组与分区分配策略

本期主要聊聊kafka消费者组与分区 消费者组 & 消费者 每个消费者都需要归属每个消费者组,每个分区只能被消费者组中一个消费者消费 上面这段话还不够直观,我们举个例子来说明。 订单系统 订单消息通过 order_topic 发送,该topic 有 5个分区 结算系…

Cursor免费 GPT-4 IDE 工具的保姆级使用教程

Cursor免费 GPT-4 IDE 工具的保姆级使用教程 简介 Cursor 是一款基于人工智能技术的代码生成工具。 它利用先进的自然语言处理和深度学习算法,可根据用户的输入或需求,自动生成高质量代码。 不管是初学者,还是资深开发者,Curs…

网络爬虫到底难在哪里?

如果你是自己做爬虫脚本开发,那确实难,因为你需要掌握Python、HTML、JS、xpath、database等技术,而且还要处理反爬、动态网页、逆向等情况,不然压根不知道怎么去写代码,这些技术和经验储备起码得要个三五年。 比如这几…