当前位置: 首页 > news >正文

【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地址

相关文章:

  • 终端安全与终端管理:有什么区别及其重要性?
  • SQL:多列匹配(Multiple-column Matching)
  • Kubernetes MCP服务器(K8s MCP):如何使用?
  • 深度学习————模型保存与部署
  • Word2Vec详解
  • IDEA+AI 深度融合:重构高效开发的未来模式
  • Unity实用技能-UI定位总结
  • 从秒开到丝滑体验!WebAssembly助力ZKmall商城重构 B2B2C 商城性能基线
  • AI大语言模型评测体系演进与未来展望
  • Python类方法解析:从字节序列重构Vector2d实例
  • 从虚拟仿真到行业实训再到具身智能--华清远见嵌入式物联网人工智能全链路教学方案
  • 物联网简介:万物互联的未来图景
  • 国标GB28181视频平台EasyGBS校园监控方案:多场景应用筑牢安全防线,提升管理效能
  • Windows中PDF TXT Excel Word PPT等Office文件在预览窗格无法预览的终级解决方法大全
  • Kafka 消息堆积与慢消费问题排查及优化实践
  • ALTER COLLATION使用场景
  • 深入解析PyTorch中MultiheadAttention的参数key_padding_mask与attn_mask
  • 分布式与集群:概念、区别与协同
  • disryptor和rabbitmq
  • RabbitMQ-如何选择消息队列?
  • 国家统计局答澎湃:我国投资的潜力依然巨大,支撑投资增长的有利因素仍然比较多
  • LPR名副其实吗?如果有所偏离又该如何调整?
  • 北斗系统全面进入11个国际组织的标准体系
  • 台湾关闭最后的核电,岛内担忧“非核家园”缺电、涨电价困局难解
  • 61岁云浮市律师协会副会长谭炳光因突发疾病逝世
  • 福州一宋代古墓被指沦为露天厕所,仓山区博物馆:已设置围挡