mysql connector 如何使用_MySQL Connector/Net 的简单使用

首先,新建工程(Windows Application)

0818b9ca8b590ca3270a3433284dd417.png

然后,增加引用(MySql.Data)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

注意:根据使用.net版本的不同而选择MySql.Data版本

之后,放置控件

3个TextBox,2个ComboBox, 1个DataGridView等等

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

密码框设置

0818b9ca8b590ca3270a3433284dd417.png

下拉框设置

0818b9ca8b590ca3270a3433284dd417.png

数据格设置

连接按钮代码:

string connStr = string.Format("server={0};user id={1}; password={2}; database=mysql; pooling=false",

edtSrv.Text, edtUser.Text, edtPwd.Text);

try

{

conn = new MySqlConnection(connStr);

conn.Open();

// 获得数据库列表

List cmd = new List();

cmd.Add("SHOW DATABASES");

List list = getDataList(cmd);

// 清空下拉框

cBoxDBs.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxDBs.Items.Add(str);

}

catch(MySqlException ex)

{

MessageBox.Show("没有找到数据库: " + ex.Message);

}

下拉框(数据库列表)

// 获得数据库列表

List cmdList = new List();

cmdList.Add("USE " + cBoxDBs.SelectedItem.ToString());

cmdList.Add("SHOW TABLES");

List list = getDataList(cmdList);

// 清空下拉框

cBoxTables.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxTables.Items.Add(str);

下拉框(数据表列表)

// 获得数据表名称

string tableName = cBoxTables.SelectedItem.ToString();

// 设置数据桥

dataAdapter = new MySqlDataAdapter("Select * from " + tableName, conn);

// DataSet

sqlCmdBuilder = new MySqlCommandBuilder(dataAdapter);

// 建立数据表

table = new DataTable(tableName);

// 填充数据表到数据桥

dataAdapter.Fill(table);

// 指定数据源

dataGridView1.DataSource = table;

运行效果:

0818b9ca8b590ca3270a3433284dd417.png

操作步骤(1、2、3)

开发环境: VS2005

连接器(For .net):V6.8.3

Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using MySql.Data.MySqlClient;

namespace testMySQL

{

public partial class frmain : Form

{

private MySqlConnection conn;

private DataTable table;

private MySqlDataAdapter dataAdapter;

private MySqlCommandBuilder sqlCmdBuilder;

public frmain()

{

InitializeComponent();

}

private void btnConn_Click(object sender, EventArgs e)

{

//

string connStr = string.Format(

"server={0}; user id={1}; password={2}; database=mysql; pooling=false",

edtSrv.Text, edtUser.Text, edtPwd.Text);

try

{

conn = new MySqlConnection(connStr);

conn.Open();

// 获得数据库列表

List cmd = new List();

cmd.Add("SHOW DATABASES");

List list = getDataList(cmd);

// 清空下拉框

cBoxDBs.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxDBs.Items.Add(str);

}

catch(MySqlException ex)

{

MessageBox.Show("没有找到数据库: " + ex.Message);

}

}

private List getDataList(List cmdList)

{

List result = new List();

// SQL数据读取器

MySqlDataReader dataReader = null;

// SQL命令执行器

MySqlCommand sqlCmd = new MySqlCommand();

// 设置SQL命令执行器的连接

sqlCmd.Connection = conn;

try

{

// 执行的SQL命令

foreach (string cmd in cmdList)

{

sqlCmd.CommandText = cmd;

sqlCmd.ExecuteNonQuery();

}

//

dataReader = sqlCmd.ExecuteReader();

while(dataReader.Read())

{

string strDbName = dataReader.GetString(0);

result.Add(strDbName);

}

}

catch (MySqlException ex)

{

MessageBox.Show("读取数据失败: " + ex.Message);

}

finally

{

if (dataReader != null)

dataReader.Close();

}

return result;

}

private void cBoxDBs_SelectedIndexChanged(object sender, EventArgs e)

{

// 获得数据库列表

List cmdList = new List();

cmdList.Add("USE " + cBoxDBs.SelectedItem.ToString());

cmdList.Add("SHOW TABLES");

List list = getDataList(cmdList);

// 清空数据表列表

cBoxTables.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxTables.Items.Add(str);

}

private void cBoxTables_SelectedIndexChanged(object sender, EventArgs e)

{

// 获得数据表名称

string tableName = cBoxTables.SelectedItem.ToString();

// 设置数据桥

dataAdapter = new MySqlDataAdapter("Select * from " + tableName, conn);

// DataSet

sqlCmdBuilder = new MySqlCommandBuilder(dataAdapter);

// 建立数据表

table = new DataTable(tableName);

// 填充数据表到数据桥

dataAdapter.Fill(table);

// 指定数据源

dataGridView1.DataSource = table;

}

}

}

FAQ:

1. Unable to convert MySQL date/time value to System.DateTime

出现原因:

DateTime列含有“0000-00-00”(YYYY-mm-dd)或者“0000-00-00 00:00:00”(YYYY-mm-dd HH:mm:ss)数据

0818b9ca8b590ca3270a3433284dd417.png

解决办法:

在连接串格式中增加“Convert Zero Datetime=True”

server={0}; user id={1}; password={2}; database=mysql; pooling=false; Convert Zero Datetime=True

相关资源:嵌入式C精华.pdf
已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页