栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

mysql connector 教程

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql connector 教程

MySQL Connector/Net 的简单使用 首先,新建工程(Windows Application) 然后,增加引用(MySql.Data) 注意:根据使用.net版本的不同而选择MySql.Data版本 之后,放置控件 3个TextBox,2个ComboBox, 1个DataGridView等等 密码框设置 下拉框设置 数据设置 连接

MySQL Connector/Net 的简单使用

首先,新建工程(Windows Application)

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

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

之后,放置控件

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

密码框设置

下拉框设置

数据格设置

连接按钮代码:

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();

// 获得数据库列表

Listcmd = new List();

cmd.Add("SHOW DATABASES");

Listlist = getDataList(cmd);

// 清空下拉框

cBoxDBs.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxDBs.Items.Add(str);

}

catch(MySqlException ex)

{

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

}

下拉框(数据库列表)

// 获得数据库列表

ListcmdList = new List();

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

cmdList.Add("SHOW TABLES");

Listlist = 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;

运行效果:

操作步骤(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();

// 获得数据库列表

Listcmd = new List();

cmd.Add("SHOW DATABASES");

Listlist = getDataList(cmd);

// 清空下拉框

cBoxDBs.Items.Clear();

// 增加下拉框列表

foreach (string str in list)

cBoxDBs.Items.Add(str);

}

catch(MySqlException ex)

{

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

}

}

private ListgetDataList(ListcmdList)

{

Listresult = 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)

{

// 获得数据库列表

ListcmdList = new List();

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

cmdList.Add("SHOW TABLES");

Listlist = 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)数据

解决办法:

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

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号