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

mysql connector 如何使用_MySQL Connector/Net 的简略使用mysqlConnector/Net的简单使用首先,新建工程(WindowsApplication)然后,增加引用(MySql.Data)注意:根据使用.net版本的不同而选择MySql.Data版本之后,放置控件3个TextBox,2个ComboBox,1个DataGridView等等密码框设置下拉框设置数据格设置连接按钮代码:stringconnStr=string.Format…

大家好,又见面了,我是你们的朋友全栈君。

mysql Connector/Net 的简单使用

首先,新建工程(Windows Application)

03c2c397c0451fff8254f8b24dd527fd.png

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

60b7e59cc6c8332dc814f14a5986d293.png

548ef74e12c87e8c54c704e92bfe2372.png

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

之后,放置控件

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

e69ff5ba2ecc200731bb7d3b3d034aeb.png

dd039e271992d0055a4ef03392b0deb8.png

密码框设置

6739896f54c87b80843f8a5740950840.png

下拉框设置

4c505d25eee0b56f8d44dae33a312996.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); }

欢迎大家阅读《MySQL Connector/Net 的简略使用》,跪求各位点评,by 搞代码

下拉框(数据库列表)

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

运行效果:

8893a47dc501f48106cc82e59cafb34f.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)数据

解决办法:

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

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

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159545.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 大数据要学哪些内容

    大数据要学哪些内容第一阶段:静态网页基础(HTML+CSS)1.难易程度:一颗星2.技术知识点+阶段项目任务+综合能力3.主要技术包括:html常用标签、CSS常见布局、样式、定位等、静态页面的设计制作方式等第二阶段:JavaSE+JavaWeb1.难易程度:两颗星2.技术知识点+阶段项目任务+综合能力3.主要技术包括:java基础语法、java面向对象(类、对象、封装、继承、多态、抽象…

    2022年4月26日
  • 安装anaconda和pycharm_anaconda安装pycharm

    安装anaconda和pycharm_anaconda安装pycharm目标:实现pycharm上操作Anaconda环境:系统:window7pycharm:2019步骤:1.下载:如果打算安装Anaconda,需要卸载之前安装的Python(如果不想卸载,参考博客,不过这个实在有点长,我没看完都),因为Anaconda是一个集成环境,所以是自带Python的,下载Anaconda,这个是官网:如图:根据电脑型号,选择版本,这里建议选择3.x…

    2022年8月27日
  • C++的this指针

    C++的this指针C++的this指针当你进入一个房子后,你可以看见桌子、椅子、地板等,但是房子你是看不到全貌了。对于一个类的实例来说,你可以看到它的成员函数、成员变量,但是实例本身呢?this是一个指针,它时时刻刻指向你这个实例本身。C++在初始化对象时,每个对象中的数据成员都会得到系统分配的自己独立的存储空间。对于成员函数来说,一个函数的代码段在内存中只有一份,同一个类中的不同对象在调用自己的成…

    2022年5月16日
  • 一比一还原axios源码(一)—— 发起第一个请求

    上一篇文章,我们简单介绍了XMLHttpRequest及其他可以发起AJAX请求的API,那部分大家有兴趣可以自己去扩展学习。另外,简单介绍了怎么去读以及我会怎么写这个系列的文章,那么下面就开始真正的

    2022年3月25日
  • 谷歌的技术_探究GNSS技术在

    谷歌的技术_探究GNSS技术在文章目录引言TrueTime事务读写事务快照读只读事务总结引言Spanner是一个全球分布式的数据库,从数据模型来看Spanner很像BigTable,都是类似于key对应着一行数据,但是却并不一样,Spanner中衍生出了“目录”的概念(把两张表合并存储)。这并不是重点,Spanner的重是它是第一个在全球范围内传递数据且保证外部一致的分布式事务的系统,且支持几种特定的事务,这显然是一个很困难的问题,我们会在文章中加以描述,这篇文章主要对Spanner的事务以及实现事务所使用的TrueTimeAP

    2022年11月2日
  • 三、VHDL语言基础[通俗易懂]

    三、VHDL语言基础[通俗易懂]正文:1VHDL简介VHDL的全称为VHSIC硬件描述语言(VHSICHardwareDescriptionLanguage),VHSIC:VeryHighSpeedIntegra

    2022年7月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号