十分感谢众多坛友对我的支持,还有论坛对我的信任。豆豆酱不是什么大神,只希望做一个“新人王”。给新手们写帖子,把生涩的变得活泼些,至少要让人容易明白。感谢的话到此为止(主要是词穷了undefined),下面进入正题。今天简单讲C#与MySQL的组合。
        因为主要讲的是C#,那MySQL的安装配置什么的我就不赘述了。C#中连接MySQL我们首先需要下载一个动态库MySql.Data.dll,并引用它。

1. 与数据库建立连接 

这里是我本地连接的配置信息,这里面的信息在脚本中会用到

[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient; // 引用MySQL的动态库

class Program
{
    static private string server = "172.16.102.105"; // 配置文件中的连接IP
    static private string user = "xiaojian"; // 配置文件中的用户(为了方便,我重建了一个小贱的用户)
    static private string password = "123456"; // 配置文件中的密码
    static private MySqlConnection _mySqlConnection; // 这是一连接(一个连接可以包括多个数据库)
    static void Main(string[] args)
    {
        // connectionString包含连接的一些信息
        string connectionString = string.Format("server={0};userid={1};password={2}", server, user, password);

        // 建立连接
        _mySqlConnection = new MySqlConnection(connectionString); // 根据配置文件信息建立连接
        _mySqlConnection.Open(); // 打开连接
        Console.WriteLine("连接状态:" + _mySqlConnection.State); // 查看连接的状态
        _mySqlConnection.Dispose(); // 释放资源
        _mySqlConnection.Close(); // 关闭连接

        Console.ReadKey(); // 为了保留窗口和内容无关
    }
}

     

 

到这一步我们已经通过xiaojian(user)123456(password)这个账号连接上了服务器172.16.102.105(server)。

2. 选择需要操作的数据库
为了让代码思路看起来更清晰,我们把连接服务器的代码放入GetConnection函数中。然后通过ChangeDatabase这个函数来选择数据库。

[C#] 纯文本查看 复制代码

using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient; // 引用MySQL的动态库

class Program
{
    static private string server = "172.16.102.105"; // 配置文件中的数据库IP
    static private string user = "xiaojian"; // 配置文件中的用户(为了方便,我重建了一个XiaoJian的用户)
    static private string password = "123456"; // 配置文件中的密码
    static private MySqlConnection _mySqlConnection; // 这是一个连接
    static void Main(string[] args)
    {
        _mySqlConnection = GetConnection(server, user, password); // 连接数据库的服务器
        Console.WriteLine("连接状态:" + _mySqlConnection.State); // 查看连接状态
        _mySqlConnection.ChangeDatabase("XiaoJianDatabase"); // 选择需要操作的数据库(XiaoJianDatabase为数据库名,MySql大小写不敏感)
        Console.WriteLine("当前数据库:" + _mySqlConnection.Database); // 查看当前选择的数据库
        _mySqlConnection.Dispose(); // 释放资源
        _mySqlConnection.Close(); // 关闭连接

        Console.ReadKey(); // 为了保留窗口和内容无关
    }

    // 连接服务器
    public static MySqlConnection GetConnection(string server, string user, string password)
    {
        // connectionString包含连接的一些信息
        string connectionString = string.Format("server={0};userid={1};password={2}", server, user, password);

        // 建立连接
        MySqlConnection mySqlConnection = new MySqlConnection(connectionString);
        mySqlConnection.Open();

        // 返回这个连接
        return mySqlConnection;
    }
}

     

 

这里我们已经选择了XianJianDatabase这个数据库,相当于SQL中的USE XianJianDatabase操作。

3. 数据库中的简单操作

在执行操作前,我们需要写一个通用的执行SQL语句的函数:

[C#] 纯文本查看 复制代码

// 执行Sql命令
    public static MySqlDataAdapter DoSQLCommand(string SqlCommand, MySqlConnection mySqlConnection)
    {
        MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(SqlCommand, mySqlConnection);
        return mySqlDataAdapter;
    }

    

   

 先在数据库中添加测试用的数据

(1)SHOW TABLES 查询所有表

[C#] 纯文本查看 复制代码

using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient; // 引用MySQL的动态库
using System.Data; // DataSet类的引用

class Program
{
    static private string _server = "172.16.102.105"; // 配置文件中的数据库IP
    static private string _user = "xiaojian"; // 配置文件中的用户(为了方便,我重建了一个XiaoJian的用户)
    static private string _password = "123456"; // 配置文件中的密码
    static private string _sqlCommand = "SHOW TABLES"; // 需要执行的SQL命令 ***命令都更改这里***
    static private MySqlConnection _mySqlConnection; // 这是一个连接
    static private MySqlDataAdapter _mySqlDataAdapter; // 数据适配器
    static private DataSet _dataSet = new DataSet(); // 数据集

    static void Main(string[] args)
    {
        _mySqlConnection = GetConnection(_server, _user, _password); // 连接数据库的服务器
        Console.WriteLine("连接状态:" + _mySqlConnection.State); // 查看连接状态
        _mySqlConnection.ChangeDatabase("XiaoJianDatabase"); // 选择需要操作的数据库(XiaoJianDatabase为数据库名)
        Console.WriteLine("当前数据库:" + _mySqlConnection.Database); // 查看当前选择的数据库

        // 执行Sql命令
        _mySqlDataAdapter = DoSQLCommand(_sqlCommand, _mySqlConnection); // 获取数据适配器
        _mySqlDataAdapter.Fill(_dataSet, "USER_TABLE"); // 把数据填充到数据集

        // 遍历结果集
        for (int i = 0; i < _dataSet.Tables[0].Rows.Count; i++)
        {
            for (int j = 0; j < _dataSet.Tables[0].Columns.Count; j++)
            {
                Console.WriteLine(_dataSet.Tables[0].Rows.ItemArray[j]);
            }
        }

        _mySqlConnection.Dispose(); // 释放资源
        _mySqlConnection.Close(); // 关闭连接

        Console.ReadKey(); // 为了保留窗口和内容无关
    }

    // 连接服务器
    public static MySqlConnection GetConnection(string server, string user, string password)
    {
        // connectionString包含连接的一些信息
        string connectionString = string.Format("server={0};userid={1};password={2}", server, user, password);

        // 建立连接
        MySqlConnection mySqlConnection = new MySqlConnection(connectionString);
        mySqlConnection.Open();

        // 返回这个连接
        return mySqlConnection;
    }

    // 执行Sql命令
    public static MySqlDataAdapter DoSQLCommand(string SqlCommand, MySqlConnection mySqlConnection)
    {
        MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(SqlCommand, mySqlConnection); // 构造数据适配器
        return mySqlDataAdapter; // 返回适配器
    }
}

     

 

(2)查询USER_TABLE表中的所有数据

[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using MySql.Data.MySqlClient; // 引用MySQL的动态库
using System.Data; // DataSet类的引用

class Program
{
    static private string _server = "172.16.102.105"; // 配置文件中的数据库IP
    static private string _user = "xiaojian"; // 配置文件中的用户(为了方便,我重建了一个XiaoJian的用户)
    static private string _password = "123456"; // 配置文件中的密码
    static private string _sqlCommand = "SELECT * FROM USER_TABLE"; // 需要执行的SQL命令 ***所有命令都更改这里***
    static private MySqlConnection _mySqlConnection; // 这是一个连接
    static private MySqlDataAdapter _mySqlDataAdapter; // 数据适配器
    static private DataSet _dataSet = new DataSet(); // 数据集

    static void Main(string[] args)
    {
        _mySqlConnection = GetConnection(_server, _user, _password); // 连接数据库的服务器
        Console.WriteLine("连接状态:" + _mySqlConnection.State); // 查看连接状态
        _mySqlConnection.ChangeDatabase("XiaoJianDatabase"); // 选择需要操作的数据库(XiaoJianDatabase为数据库名)
        Console.WriteLine("当前数据库:" + _mySqlConnection.Database); // 查看当前选择的数据库

        // 执行Sql命令
        _mySqlDataAdapter = DoSQLCommand(_sqlCommand, _mySqlConnection); // 获取数据适配器
        _mySqlDataAdapter.Fill(_dataSet, "USER_TABLE"); // 把数据填充到数据集

        // 遍历结果集
        for (int i = 0; i < _dataSet.Tables[0].Rows.Count; i++)
        {
            for (int j = 0; j < _dataSet.Tables[0].Columns.Count; j++)
            {
                Console.WriteLine(_dataSet.Tables[0].Rows.ItemArray[j]);
            }
        }

        _mySqlConnection.Dispose(); // 释放资源
        _mySqlConnection.Close(); // 关闭连接

        Console.ReadKey(); // 为了保留窗口和内容无关
    }

    // 连接服务器
    public static MySqlConnection GetConnection(string server, string user, string password)
    {
        // connectionString包含连接的一些信息
        string connectionString = string.Format("server={0};userid={1};password={2}", server, user, password);

        // 建立连接
        MySqlConnection mySqlConnection = new MySqlConnection(connectionString);
        mySqlConnection.Open();

        // 返回这个连接
        return mySqlConnection;
    }

    // 执行Sql命令
    public static MySqlDataAdapter DoSQLCommand(string SqlCommand, MySqlConnection mySqlConnection)
    {
        MySqlDataAdapter mySqlDataAdapter = new MySqlDataAdapter(SqlCommand, mySqlConnection); // 构造数据适配器
        return mySqlDataAdapter; // 返回适配器
    }
}

 


查询的SQL代码直接更改_sqlCommand就可以了
        今天的数据库操作先讲这两个查询语句,增删改会在后面的文章中补充。因为数据库方面的内容比较多,豆豆酱要每一个都给出示例,可能比较费时,希望大家见谅!么么哒,谢谢大家支持哦!undefined