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