最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQLConnector/Net的简略使用

来源:动视网 责编:小采 时间:2020-11-09 13:35:11
文档

MySQLConnector/Net的简略使用

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

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

 // 获得数据库列表
 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;

运行效果:


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

解决办法:

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

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

文档

MySQLConnector/Net的简略使用

MySQLConnector/Net的简略使用:MySQL Connector/Net 的简单使用 首先,新建工程(Windows Application) 然后,增加引用(MySql.Data) 注意:根据使用.net版本的不同而选择MySql.Data版本 之后,放置控件 3个TextBox,2个ComboBox, 1个DataGridView等等 密码框设
推荐度:
标签: 使用 my net
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top