C#连接MySQL数据库
在使⽤C#写桌⾯应⽤程序时,常会⽤到C#与数据库的连接,本⽂测试C#与本地MySQL数据库建⽴连接(测试环境:WIndows10)。
第⼀步:本地MySQL的安装与数据库图形界⾯软件HeidiSQL的安装。
3)在⾃⼰电脑的C盘建⽴stu⽂件夹,再在stu⽂件夹中建⽴app⽂件夹,将MySQL和HeidiSQL解压到app⽂件夹中。
MySQL: C:\stu\app\mysql
MySQL Data: C:\stu\app\mysql\data
GUI: C:\stu\app\heidi
4)到mysql⽂件夹下的配置⽂件my.ini打开,修改basedir和datadir。
basedir = C:\stu\app\mysql
datadir = C:\stu\app\mysql\data
5)把MySQL作为Windows的⼀个服务(开机⾃动启动MySQL,就像⼀台服务器)。
1、打开CMD(管理员⾝份运⾏)
2、CMD中输⼊命令 cd c:\stu\app\mysql\bin
3、CMD中继续输⼊命令 mysqld -install (若出现Serviece successfully installed则成功)
4、CMD继续执⾏命令 net start mysql (该操作只⽤下载好数据库后操作⼀次,之后电脑启动会⾃动启动)
6)测试MySQL在本地是否安装成功。
⾸先在CMD中输⼊命令 netstat -an | more (该命令⽤户查看本地主机⽹络状态)
如到本地IP地址的3306端⼝处在监听状态,则说明此时本地主机的数据库正在运⾏。
然后通过CMD登陆MySQL: CMD中输⼊命令 mysql -u root -h localhost
继续输⼊命令 :
show databases;
// 若可以看见⼀个简单的表格包含information_schema、mysql、performance_schema则成功
7)如果以后不想使⽤MySQL的时候可以⼿动关闭MySQL服务或卸载MySQL。
// 1、以管理员⾝份打开命令⾏
// 2、关闭mysql服务
net stop mysql
// 3、删除mysql服务
cd \stu\app\mysql\bin
mysqld -remove
8)打开电脑C盘进⼊到stu⽂件夹下的app⽂件夹,打开应⽤程序。
第⼀次使⽤数据库默认⽤户名为root,默认密码为空。
HeidiSQL运⾏成功后的界⾯如下图:
此时,本地MySQL和HeidiSQL都安装完成,下⾯介绍通过C#如何连接MySQL数据库。
第⼆步:C#连接到MySQL数据库。
1)创建⼀个基于C#的WPF应⽤程序
2)将MySql.Data.dll⽂件放在刚刚创建的项⽬的debug⽂件夹下⾯(与exe运⾏程序处于同⼀⽂件夹下)4)在WPF应⽤程序后台添加头⽂件:
using MySql.Data.MySqlClient;
前⾯四⼩步做好了C#连接数据库的准备。
5)打开HeidiSQL图形界⾯,创建数据库和建⼀张表
6)WPF测试界⾯如下:
前端XML代码:
<Grid>
<Button x:Name="btnConnect" Content="连接数据库" HorizontalAlignment="Left" Margin="191,161,0,0" VerticalAlignment="Top" Width="90" Height="39" Clic <TextBox x:Name="txtName" HorizontalAlignment="Left" Height="23" Margin="459,122,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="1 <TextBox x:Name="txtID" Horiz
ontalAlignment="Left" Height="23" Margin="459,204,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120" <TextBlock HorizontalAlignment="Left" Margin="392,122,0,0" TextWrapping="Wrap" Text="姓名:" VerticalAlignment="Top" Height="23"/>
<TextBlock HorizontalAlignment="Left" Margin="392,204,0,0" TextWrapping="Wrap" Text="学号:" VerticalAlignment="Top" Height="23"/>
</Grid>
后台C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using MySql.Data;
using MySql.Data.MySqlClient;
namespace databaseConnectTest
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
DatabaseConnect();
}
private void DatabaseConnect()
{
string connString = "server=localhost; database=mysql_test; uid=root; pwd=123456";
MySqlConnection conn = new MySqlConnection(connString);
try
{
conn.Open();
MessageBox.Show("连接成功!");
MySqlCommand cmd = new MySqlCommand("INSERT INTO t_userinfo(user_name, user_id) values('"+ txtName.Text.Trim() +"','"+ txtID.Text.Trim() +" cmd.CommandTimeout = 12000;
int iRecordAffected = cmd.ExecuteNonQuery();
MessageBox.Show(iRecordAffected.ToString());
}
mysql下载到了c盘catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
}
}
7)测试结果展⽰:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论