今天星期六,在公司加班研究了一天,如何实现用C#连接数据库,现在把今天研究到的成过记录下来!
安装MySQL提供连接C#的插件
Mysql.Data.dll
下载步骤如下图:
一、
二、
三、
下载好安装好就可以进行下一步操作了!MySQL for Visual Studio 安装教程:
注意事项:
再上图中,本来Visual Studio 2017不应该打叉的,不知道为什么小编的打叉了,选中自己对应的版本进行安装,就可以在Visual Studio 中进行打开数据了。小编的不行,所以就只能利用其他工具打开数据库进行操作了!
如下图:
Visual Studio 添加dll文件
请按照图片步骤进行Mysql.Data.dll的引入添加!
在数据库的安装路径中,找到Mysql.Data.dll进行添加!
这样就完成了,可以进行代码编辑连接MySQL了!
实现代码连接数据库
需要包含的命名空间:using System.Data;
// 表的命名空间using MySql.Data.MySqlClient;
// 和MySQL相关的命名空间
下面请看代码:(代码中都有详细注释,这里就不详细解释啦!)
注意代码中的数据库名,登录账号,密码,表名和表的字段噢!
运行代码必须先启动数据库噢!
小编代码中用的数据库名表名和表的字段在代码下面有截图!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data; // 表的命名空间
using MySql.Data.MySqlClient; // 和MySQL相关的命名空间
namespace 连接数据库 {
class Program {
static void Main(string[] args) {
#region 连接数据库
// 声明一个连接数据库的对象
MySqlConnectionStringBuilder mysqlCSB = new MySqlConnectionStringBuilder();
mysqlCSB.Database = "school"; // 设置连接的数据库名
mysqlCSB.Server = "127.0.0.1"; // 设置连接数据库的IP地址
mysqlCSB.Port = 3306; // MySql端口号
mysqlCSB.UserID = "root"; // 设置登录数据库的账号
mysqlCSB.Password = "yang"; // 设置登录数据库的密码
//string mysqlCSB = "Database=school;Data Source=127.0.0.1;port=3306;User Id=root;Password=yang;";
// 创建连接
MySqlConnection mySqlConnection = new MySqlConnection(mysqlCSB.ToString());
// 打开连接(如果处于关闭状态才进行打开)
if (mySqlConnection.State == ConnectionState.Closed) {
mySqlConnection.Open();
}
// 对应数据库里面的表字段
string id = "0";
string name = "0";
// 保存数据库执行后受影响的行数
int result = 0;
#endregion
/****************************************************************************************/
/*********************************-----华丽的分割线-----*********************************/
/***************************************数据库插入***************************************/
#region MySQL插入(增)
try {
// 打开连接(如果处于关闭状态才进行打开)
if (mySqlConnection.State == ConnectionState.Closed) {
mySqlConnection.Open();
}
Console.WriteLine("请输入需要插入的id:");
id = Console.ReadLine();
Console.WriteLine("请输入需要插入的name:");
name = Console.ReadLine();
// 创建要插入的MySQL语句
String mysqlInsert = "insert into class1 values(" + id + ", '" + name + "')";
// 创建用于实现MySQL语句的对象
MySqlCommand mySqlCommand = new MySqlCommand(mysqlInsert, mySqlConnection);
// 执行MySQL语句进行插入
result = mySqlCommand.ExecuteNonQuery();
Console.WriteLine("数据库中受影响的行数({0})\n", result);
}
catch (Exception) {
}
finally {
// 关闭连接
mySqlConnection.Close();
}
#endregion
/****************************************************************************************/
/*********************************-----华丽的分割线-----*********************************/
/***************************************数据库删除***************************************/
#region MySQL删除(删)
try {
// 打开连接(如果处于关闭状态才进行打开)
if (mySqlConnection.State == ConnectionState.Closed) {
mySqlConnection.Open();
}
Console.WriteLine("请输入需要删除的id:");
id = Console.ReadLine();
// 创建要查询的MySQL语句
String sqlDelete = "delete from class1 where id = " + id;
// 创建用于实现MySQL语句的对象
MySqlCommand mySqlCommand4 = new MySqlCommand(sqlDelete, mySqlConnection);
// 执行MySQL语句进行删除
result = mySqlCommand4.ExecuteNonQuery();
Console.WriteLine("数据库中受影响的行数({0}\n)", result);
}
catch (Exception) {
}
finally {
// 关闭连接
mySqlConnection.Close();
}
#endregion
/****************************************************************************************/
/*********************************-----华丽的分割线-----*********************************/
/***************************************数据库修改***************************************/
#region MySQL修改(改)
try {
// 打开连接(如果处于关闭状态才进行打开)
if (mySqlConnection.State == ConnectionState.Closed) {
mySqlConnection.Open();
}
Console.WriteLine("请输入需要修改的id:");
id = Console.ReadLine();
Console.WriteLine("请输入需要修改的name:");
name = Console.ReadLine();
// 创建要修改的MySQL语句
String sqlUpdate = "update class1 set name = '" + name + "' where id = " + id;
// 创建用于实现MySQL语句的对象
MySqlCommand mySqlCommand3 = new MySqlCommand(sqlUpdate, mySqlConnection);
// 执行MySQL语句进行修改
result = mySqlCommand3.ExecuteNonQuery();
Console.WriteLine("数据库中受影响的行数({0}\n)", result);
}
catch (Exception) {
}
finally {
// 关闭连接
mySqlConnection.Close();
}
#endregion
/****************************************************************************************/
/*********************************-----华丽的分割线-----*********************************/
/***************************************数据库查询***************************************/
#region MySQL查询(查)
try {
// 打开连接(如果处于关闭状态才进行打开)
if (mySqlConnection.State == ConnectionState.Closed) {
mySqlConnection.Open();
}
Console.WriteLine("请输入需要查询的id:");
id = Console.ReadLine();
// 创建要查询的MySQL语句
String sqlSelect = "select * from class1 where id = " + id + ";";
// 创建用于实现MySQL语句的对象
MySqlCommand mySqlCommand2 = new MySqlCommand(sqlSelect, mySqlConnection); // 参数一:SQL语句字符串 参数二:已经打开的数据库连接对象
// 执行MySQL语句,接收查询到的MySQL结果
MySqlDataReader mdr = mySqlCommand2.ExecuteReader();
// 读取数据
while (mdr.Read()) {
Console.WriteLine("id = " + mdr.GetString("id") + " name = " + mdr.GetString("name"));
}
}
catch (Exception) {
}
finally {
// 关闭连接
mySqlConnection.Close();
}
#endregion
Console.WriteLine();
Console.ReadKey();
}
}
}
代码中多次把连接断开后再打开,是为了不打开那么多次而浪费资源,这是一个小技巧!
C# 连接SQL Server数据库
另外附赠C#连接SQL Server数据库的方式。
拿走不谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 连接数据库 {
class Program {
static void Main(string[] args) {
// 附送SQL Server 的数据库连接方式,拿走不谢!
// 需要包含头文件:using System.Data; // 表的命名空间
// using System.Data.SqlClient; // 和SQL相关的命名空间
#region SQL Server 连接数据库的方式
string id = "0";
Console.WriteLine("请输入需要查询的id:");
id = Console.ReadLine();
// 声明一个连接数据库的对象
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
// 设置连接数据库的IP地址
scsb.DataSource = "127.0.0.1";
// 设置登录数据库的账号
scsb.UserID = "root";
// 设置登录数据库的密码
scsb.Password = "yang";
// 设置连接的数据库名
scsb.InitialCatalog = "school";
// 创建连接
SqlConnection conn = new SqlConnection(scsb.ToString());
// 打开连接
conn.Open();
// 创建要执行的SQL语句
String sqlSelect = "select * from class1 where id = " + id + ";";
// 创建用于实现SQL语句的对象
SqlCommand comm = new SqlCommand(sqlSelect, conn); // 参数一:SQL语句字符串 参数二:已经打开的数据库连接对象
// 执行comm对象,接收查询到的SQL结果
SqlDataReader sdr = comm.ExecuteReader();
// 读取数据
while (sdr.Read()) {
Console.WriteLine(sdr["Name"]);
}
#endregion
Console.WriteLine();
Console.ReadKey();
}
}
}
总结:连接MySQL数据库的基本步骤就是这样了,希望对大家有帮助吧!