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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python中的set(),zip()以及map()函数

    python中的set(),zip()以及map()函数set、zip和map函数均为python的内置函数。(1)set()用法:set(interable)用来创建一个无序不重复元素的集合。可以对其进行集合的一系列操作,例如求差集、并集和补集,利

    2022年7月5日
    20
  • ORACLE函数之日期时间运算函数[通俗易懂]

    ORACLE函数之日期时间运算函数

    2022年1月18日
    38
  • mybatis的逆向工程_mybatis逆向工程多表查询

    mybatis的逆向工程_mybatis逆向工程多表查询逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧,使用逆向工程时,需要注意的是表之间的关系无法映射出来!也就是说mybatis的逆向工程生成的都是单表操作,1:mybatis逆向工程开发文档:http://www.mybati

    2022年8月21日
    9
  • bool函数使用「建议收藏」

    bool函数使用「建议收藏」bool函数的使用

    2022年6月13日
    27
  • vi编辑时出现E325:ATTENTION(简单易懂,快速解决问题)「建议收藏」

    vi编辑时出现E325:ATTENTION(简单易懂,快速解决问题)「建议收藏」当出现这个问题时,是因为由于在编辑该文件的时候异常退出了,因为vim在编辑文件时会创建一个交换文件swapfile以保证文件的安全性。要想解决这个问题,1.找到开头前两行示例如下:E325:ATTENTIONFoundaswapfilebythename”/.local/share/nvim/swap//%home%dev%xuexi%tool%main.c.swp”(tips:复制标粗体的地方)2.找出name后面的文件路径以及名称,复制你的swap文件路径以及名

    2022年5月12日
    53
  • 喊山第二部_demjanov重排

    喊山第二部_demjanov重排原题链接喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发

    2022年8月8日
    4

发表回复

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

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