C#连接Mysql

本文展示了如何使用C#通过MySqlDataReader从MySQL数据库中执行SQL查询,获取Db列数据。实例代码包括建立连接、执行命令和读取结果的过程。

using System;
using System.Data;
using MySql.Data.MySqlClient;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            string connection = "server=
XXXXXXXXX;port=端口号;user id=用户名;password=密码;database=mysql;SslMode=none";
            MySqlConnection conn = new MySqlConnection(connection);
            string sqlQuery = "SELECT Db FROM columns_priv";
            MySqlCommand comm = new MySqlCommand(sqlQuery, conn);//创建命令对象
            conn.Open();//打开数据库链接
            MySqlDataReader dr = comm.ExecuteReader();//执行命令
            while (dr.Read())
                Console.WriteLine(dr[0].ToString());//测试

            conn.Close();
            //return dr;
        }
    }
}

C#连接MySQL可按以下步骤实现: 1. **下载连接文件**:需下载MySql官方的连接.net的文件,下载地址为http://dev.mysql.com/downloads/connector/net/6.6.html#downloads ,下载平台选择.Net&Mono,下载ZIP免安装版[^1]。 2. **添加引用**:解压缩下载的mysql - connector - net - 6.6.6 - noinstall.zip文件,里面有几个版本选择,可选择V4,选中相关文件后添加到C#项目的引用中,之后便可编写程序进行数据库操作[^1]。 3. **编写数据库操作代码**:以下为示例代码,实现向数据库插入数据的功能。 ```csharp using System; using System.Collections; using System.Configuration; using MySql.Data; using MySql.Data.MySqlClient; using System.Data; namespace Sql //数据库简单测试 { class InsertSql1 { public static void Main(string[] args) { string constr = "server=localhost;User Id=root;password=219229;Database=reg"; MySqlConnection mycon = new MySqlConnection(constr); mycon.Open(); MySqlCommand mycmd = new MySqlCommand("insert into buyer(name,password,email) values('小王','dikd3939','1134384387@qq.com')", mycon); if (mycmd.ExecuteNonQuery() > 0) { Console.WriteLine("数据插入成功!"); } Console.ReadLine(); mycon.Close(); } } } ``` 另外,也可使用如下方式创建连接对象: ```csharp MySqlConnection conn = new MySqlConnection("Database = stu;Server = localhost;Port = 3306;Password = 123456;UserID = root;charset = utf8mb4"); ``` 还存在另一种连接方式的示例代码: ```csharp using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.Odbc; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using MySQLDriverCS; namespace mysql { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { MySQLConnection conn = null; conn = new MySQLConnection(new MySQLConnectionString("localhost", "inv", "root", "831025").AsString); conn.Open(); MySQLCommand commn = new MySQLCommand("set names gb2312", conn); commn.ExecuteNonQuery(); string sql = "select * from exchange"; MySQLDataAdapter mda = new MySQLDataAdapter(sql, conn); DataSet ds = new DataSet(); mda.Fill(ds, "table1"); this.dataGrid1.DataSource = ds.Tables["table1"]; conn.Close(); } } } ``` ExecuteReader使用实例代码如下: ```csharp string sql = "select ClassName,GradeId,Remark from ClassInfo where ClassId = @ClassId"; MySqlParameter paraId = new MySqlParameter("@ClassId", classId); MySqlDataReader dr = MySqlHelper.ExecuteReader(sql, paraId); //Read()数据流前进到下一条记录,读一条,丢一条,相当于判断游标之后有没有数据 if (dr.Read()) { txtClassName.Text = dr["ClassName"].ToString(); oldClassNmae = txtClassName.Text; txtRemark.Text = dr["Remark"].ToString(); int gradeId = (int)dr["GradeId"]; oldGradeId = gradeId; cboGrade.SelectedValue = gradeId; } //关闭数据流之后,conn自动关闭 dr.Close(); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值