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