【vs2022的C#窗体项目】打开运行+sql Server改为mysql数据库+发布

1. vs2022打开运行原sql Server的C#窗体项目更改为mysql数据库

1.1. vs2022安装基础模块即可

在这里插入图片描述
安装1️⃣vs核心编辑器2️⃣.net桌面开发必选,可选均不安装!!!
在这里插入图片描述
为了成功连接mysql数据库,需要安装组件NuGet包管理器
在这里插入图片描述
安装这个扩展是为了发布项目。
——在编辑器-扩展-浏览中找到该扩展并安装

1.2. 打开项目

在这里插入图片描述
通过.sln文件打开项目

1.3. 连接sql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql workbench中where数据库中
在这里插入图片描述
要连接其中的 c_ibmsdb 数据库
在这里插入图片描述

找不到mysql,需要在ODBC数据源添加在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果创建新数据源找不到mysql,需要下载安装
在这里插入图片描述
在https://dev.mysql.com/downloads/connector/odbc/下载,需要在该官网注册账号才能下载
在这里插入图片描述连接数据库代码(注释掉的是原使用sql server)改为使用mysql

//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Data.SqlClient;
//using System.Data;//namespace WindowsFormsApp0
//{
//     class Dao
//     {
//        SqlConnection sc=new SqlConnection ();
//        public SqlConnection connection()
//        {
//            string str = @"Data Source=LAPTOP-3UCLSUKT;Initial Catalog=demoDB;Integrated Security=True";
//            SqlConnection sc = new SqlConnection(str);
//            sc.Open();
//            return sc;
//        }
//        public SqlCommand command(string sql)
//        {
//            SqlCommand cmd = new SqlCommand(sql, connection());
//            return cmd;
//        }
//        //updata/delete/insert,返回受影响的行数
//        public int Execute(string sql)
//        {
//            return command(sql).ExecuteNonQuery();
//        }
//        //select
//        public SqlDataReader read(string sql)
//        {
//            return command(sql).ExecuteReader();
//        }
//        public void DaoClose()
//        {
//            sc.Close();//关闭连接
//        }
//    }
//}using System;
using System.Data;
using MySql.Data.MySqlClient; // 引用 MySQL 的命名空间namespace WindowsFormsApp0
{class Dao{MySqlConnection sc = new MySqlConnection(); // 使用 MySql.Data.MySqlClient 命名空间中的类public MySqlConnection connection(){string str = @"server=localhost;user=root;password=root;database=c_ibmsdb";sc = new MySqlConnection(str); // 使用类成员变量 scsc.Open();return sc;}public MySqlCommand command(string sql){MySqlCommand cmd = new MySqlCommand(sql, connection());return cmd;}// updata/delete/insert, 返回受影响的行数public int Execute(string sql){return command(sql).ExecuteNonQuery();}// selectpublic MySqlDataReader read(string sql){Console.WriteLine("Executing SQL: " + sql);return command(sql).ExecuteReader();}public void DaoClose(){if (sc != null && sc.State == System.Data.ConnectionState.Open){sc.Close(); // 关闭连接}}}
}

右击项目,选择管理NuGet
在这里插入图片描述
安装mysql相关的包
在这里插入图片描述
就可以成功连接mysql了

2. 发布项目

2.1. 无数据库的应用发布

需安装 Visual Studio Installer projects
在这里插入图片描述
设置为 Release
在这里插入图片描述
右键 项目解决方案
在这里插入图片描述
创建setup project项目
在这里插入图片描述
在这里插入图片描述
点击新建的setup project,在application Folder下新建文件夹app1(将 项目/bin/debug下所有文件添加到这)
在这里插入图片描述
在这里插入图片描述
创建主输出
在这里插入图片描述
创建主输出的快捷方式,移至 User’s Desktop
在这里插入图片描述
在这里插入图片描述
创建卸载:
在app1中添加 “C:\Windows\System32\msiexec.exe”(就是这个路径下的msiexec.exe!!)
在这里插入图片描述
同样创建一个快捷方式,放到User’s Programs Menu
在这里插入图片描述
点击 Setup1
在这里插入图片描述
选择 属性-ProductCode 中值,复制
在这里插入图片描述
粘贴到 Desktop中卸载快捷方式-属性-Arguments中,前面加上“/X ”(X后有一个空格)
在这里插入图片描述
选择 setup1-生成
在这里插入图片描述
在setup1/Release下可以看见生成的俩文件
在这里插入图片描述
将这俩文件发送给别人,别人就可以通过setup.exe安装了

2.2. 带mysql数据库的应用发布【2.1基础上➕1步即可】

在mysql workbench(安装的mysql 8.0,就会有这个mysql bench)Users and Privileges 中改 “localhost” 为 “%”
在这里插入图片描述

        public MySqlConnection connection(){//string str = @"server=localhost;user=root;password=root;database=c_ibmsdb";// string str = @"server=192.168.31.210;user=root;password=root;database=c_ibmsdb";// 改为数据库所在本机的Ip地址sc = new MySqlConnection(str); // 使用类成员变量 scsc.Open();return sc;}

本机的Ip地址怎么知道?
答:按Win+R,输入cmd,输入ipconfig,IPv4 地址就是本机的Ip地址

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

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

相关文章

AI 编程 “幻觉” 风险频发?飞算 JavaAI 硬核技术筑牢安全防线

AI 技术已深度融入编程领域,为开发者带来前所未有的便利与效率提升。然而,AI 编程 “幻觉” 问题如影随形,频频引发困扰,成为阻碍行业稳健发展的潜在风险。飞算 JavaAI 凭借一系列硬核技术,强势出击,为攻克…

数据库----软考中级软件设计师(自用学习笔记)

目录 1、E-R图 2、结构数据模型 3、数据库的三级模式结构 4、关系代数 5、查询 6、SQL控制语句 7、视图​编辑 8、索引 9、关系模式 10、函数依赖 11、通过闭包求候选码 12、范式 13、无损连接和保持函数依赖 14、数据库设计 15、数据库的控制功能 16、数据库…

【Qt】Qt常见控件的相关知识点

1.close退出槽函数 2.设置快捷键,QMenu 。 适用&字母就能设置快捷键,运行qt程序,最后就可以按Alt对应的字母进行快捷操作。 3.QMenuBar内存泄露问题 如果ui已经自动生成了menubar,我们再次生成一个新的菜单栏,而…

httpx[http2] 和 httpx 的核心区别及使用场景如下

httpx[http2] 和 httpx 的核心区别在于 HTTP/2 协议支持,具体差异及使用场景如下: 1. 功能区别 命令/安装方式协议支持额外依赖适用场景pip install httpx仅 HTTP/1.1无通用请求,轻量依赖pip install httpx[http2]支持 HTTP/2需安装 h2>3…

Spring Boot 中 MyBatis 与 Spring Data JPA 的对比介绍

一、核心概念 MyBatis 定义:基于 SQL 的持久层框架,提供灵活的 SQL 映射和自定义查询能力。 特点: 开发者手动编写 SQL(XML 或注解)。 支持动态 SQL、复杂查询优化。 轻量级,对数据库控制力强。 Spri…

k8s1.27集群部署mysql8.0双主双从

环境介绍: #节点分配 159m--->两个master,生产环境建议,一个master一个节点。 160n-->slave-0 161n-->slaves-0 #存储卷 pv-->放在节点上,没用nfs/云存储。hostpath方式存储。pv的资源分配1G,较小&#…

vivado fpga程序固化

一般下载到fpga上的程序在掉电之后就会丢失,如果想要掉电之后程序不丢失,就需要将比特流文件固化到板载的flash上。 以下以我的7a100t开发板为例,介绍程序固化的流程 点击OK就可以下载了。

RabbitMQ Topic RPC

Topics(通配符模式) Topics 和Routing模式的区别是: topics 模式使⽤的交换机类型为topic(Routing模式使⽤的交换机类型为direct)topic 类型的交换机在匹配规则上进⾏了扩展, Binding Key⽀持通配符匹配(direct类型的交换机路 由规则是BindingKey和RoutingKey完全匹配) 在top…

服务器死机了需要检查哪些问题

在这个数字化的时代,服务器就像是我们信息世界的“大管家”,可要是它突然死机了,那可真是让人头疼。今天咱们就来聊聊,服务器死机了,到底需要检查哪些问题。 一、硬件问题 电源供应:检查电源是否稳定&…

【MySQL成神之路】运算符总结

MySQL运算符总结 MySQL提供了丰富的运算符,用于在SQL语句中进行各种计算和比较操作。这些运算符可以分为算术运算符、比较运算符、逻辑运算符、位运算符等几大类。合理使用这些运算符可以构建复杂的查询条件和计算表达式。 一、算术运算符 MySQL支持基本的算术运…

自用Vscode 配置c++ debug环境

前言 使用vscode配置c debug环境的好处 1、可以借助vscode方便轻量的扩展和功能 2、避免了传统使用gdb 复杂按键以及不够直观的可视化 3、方便一次运行,断点处查看变量,降低找bug难度 4、某大公司项目采用类似配置,经过实践检验 配置c运行环…

创建一个使用 GPT-4o 和 SERP 数据的 RAG 聊天机器人

亮数据-网络IP代理及全网数据一站式服务商屡获殊荣的代理网络、强大的数据挖掘工具和现成可用的数据集。亮数据:网络数据平台领航者https://www.bright.cn/?promogithub15?utm_sourceorganic-social-cn&utm_campaigncsdn 本指南将解释如何使用 Python、GPT-4…

吴恩达 Deep Learning(1-36)ppt逐行理解

课程地址:(超爽中英!) 2024公认最好的【吴恩达深度学习】教程!附课件代码 Professionalization of Deep Learning_哔哩哔哩_bilibili 1.目录 2.什么是神经网络 3.用神经网络进行监督学习 4.为什么深度学习会兴起 7.二分分类 适用于二元分类问题的函数&…

三维点云的处理

1 点云原理 https://zh.wikipedia.org/wiki/%E9%BB%9E%E9%9B%B2 点云(英语:point cloud)是空间中点的数据集,可以表示三维形状或对象,通常由三维扫描仪获取。点云中每个点的位置都由一组笛卡尔坐标(X,Y,Z)描述[1]&…

鸿蒙HarmonyOS多设备流转:分布式的智能协同技术介绍

随着物联网和智能设备的普及,多设备间的无缝协作变得越来越重要。鸿蒙(HarmonyOS)作为华为推出的新一代操作系统,其分布式技术为实现多设备流转提供了强大的支持。本文将详细介绍鸿蒙多设备流转的技术原理、实现方式和应用场景。 …

Spring Boot- 2 (数万字入门教程 ):数据交互篇

JDBC交互框架: Spring的JDBC操作工具: 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> JDBC的模版类:JdbcTemplate 引入Mysql的依赖 <depe…

在 Kotlin 中,什么是内联函数?有什么作用?

在 Kotlin 中&#xff0c;内联函数是一种通过 inline 关键字声明的函数&#xff0c;其主要目的是优化高阶函数&#xff08;即以函数作为参数或返回值的函数&#xff09;的性能。 内联函数的函数体会在编译时直接插入到调用处&#xff0c;从而避免函数调用的开销&#xff0c;并…

LLM笔记(五)概率论

1. 随机变量与概率分布&#xff1a;模型输出的基础 在LLM中&#xff0c;随机变量最直观的体现就是模型预测的下一个token。每个时刻&#xff0c;模型都会输出一个概率分布&#xff0c;表示词汇表中每个token可能是"下一个词"的概率。 直观理解 想象模型在处理句子…

LeetCode-滑动窗口-找到字符串中所有字母异位词

LeetCode-滑动窗口-找到字符串中所有字母异位词 ✏️ 关于专栏&#xff1a;专栏用于记录 prepare for the coding test。 文章目录 LeetCode-滑动窗口-找到字符串中所有字母异位词&#x1f4dd; 找到字符串中所有字母异位词&#x1f3af;题目描述&#x1f50d; 输入输出示例&am…

PostgreSQL 初体验

目录 一、PostgreSQL 1. 简介 2. 特点 &#xff08;1&#xff09; 开源免费&#xff08;Open Source&#xff09; &#xff08;2&#xff09;标准兼容&#xff08;SQL Compliance&#xff09; &#xff08;3&#xff09; 丰富的数据类型&#xff08;Data Types&#xff09…