C#连接mySql数据库进行增删改操作
本文介绍下如何用C#连接mySql数据库,并进行基本的插入,读取,删除,更新操作。
首先,安装mySql数据库,我安装的版本是mysql_installer_community_V5.6.21.1_setup.1418020972,这个网上很多,可以很容易找到,接下来安装全选择默认就好,不必理会网上说的各种复杂的格式,最后需要建立个访问数据库的密码,这个必须记住,是之后用来连接数据库的必须,同时还有名字默认root,没这个需要的话不用更改。
数据库安装完后,最后配置个查看和管理数据库的软件,比较习惯用 navicat。
若要允许其他人远程访问该服务器上的数据库,有种简单粗暴的方式就是直接将访问者由localhost改为%,即全部可以进行访问(连接时一样需要账号和密码)。打开mysql 命令行dos,输入:use mysql; 连接上数据库,
之后输入:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
再输入flush PRIVILEGES;清除缓存,现在所有人即可通过IP地址,账号,密码来访问服务器数据库了。
需要引用MySql.Data.dll, 下载地址:https://download.csdn.net/download/qizijuesha/10373118
若要允许其他人远程访问该服务器上的数据库,有种简单粗暴的方式就是直接将访问者由localhost改为%,即全部可以进行访问(连接时一样需要账号和密码)。打开mysql 命令行dos,输入:use mysql; 连接上数据库,
之后输入:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
再输入flush PRIVILEGES;清除缓存,现在所有人即可通过IP地址,账号,密码来访问服务器数据库了。
需要引用MySql.Data.dll, 下载地址:https://download.csdn.net/download/qizijuesha/10373118
using MySql.Data.MySqlClient;
using System.Data;
class sqlClass
{
//private string dataBaseIP = "******"; // 实际使用IP
WriteLogClass myWriteLog = new WriteLogClass();
private string dataBaseIP = "×××××"; // 本地IP
private string dataBaseTable = "×××××";
private string password = "×××××";
public DataTable SelectDataUsual(string sqlCommand)
{
// 查询并返回数据通用函数,返回的为查询到的dataTable
string mysqlConnectionString = "Server=" + dataBaseIP + ";Database=" + dataBaseTable + ";Uid=root;Pwd="+ password +"";
DataTable dt = new DataTable(); //待绑定
MySqlConnection conn = new MySqlConnection(mysqlConnectionString);
MySqlDataReader dataReader = null;
MySqlCommand command = null;
try
{
conn.Open();
command = conn.CreateCommand();
command.CommandText = sqlCommand;
// 与DataTable进行绑定
dataReader = command.ExecuteReader();
dt.Load(dataReader);
conn.Close();
}
catch
{
myWriteLog.WriteLog("查询数据失败");
myWriteLog.LogDisplayForm("查询数据失败");
}
finally
{
conn.Close();
}
return dt;
}
/// <summary>
/// 对数据库进行新建表,删除表,更新表,插入等命令通用函数
/// </summary>
/// <param name="sqlCommand">sql命令,需带分号</param>
/// <returns>返回值为操作结果,ture成功,flase为因异常退出</returns>
public bool UsualSqlCommand(string sqlCommand)
{
string mysqlConnectionString = "Server=" + dataBaseIP + ";Database=" + dataBaseTable + ";Uid=root;Pwd=" + password + "";
MySqlConnection conn = new MySqlConnection(mysqlConnectionString);
MySqlCommand command = null;
bool sqlResult;
try
{
conn.Open();
command = conn.CreateCommand();
command.CommandText = sqlCommand;
command.ExecuteNonQuery();
conn.Close();
sqlResult = true;
}
catch
{
sqlResult = false;
myWriteLog.WriteLog("数据库指令出错");
myWriteLog.LogDisplayForm("数据库指令出错");
}
finally
{
conn.Close();
}
return sqlResult;
}
注意无论操作的结果如何,连接的开和关一定要配对,并且保证Close一定能执行