这段时间开发用的一直是MySQL,虽然教的是SQLserver,但是都差不多,这里做个笔记。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace LanFilmSystem
{
class DBHelpMysql
{
//数据库链接字符串
public static string ConnetStr = "server=;port=3306;user=;password=;database=";
//数据库链接对象
public static MySqlConnection Conn = new MySqlConnection(ConnetStr);
// 初始化数据库链接
public static void InitConnection()
{
// 如果链接对象不存在,则打开链接
if (Conn == null)
{
Conn = new MySqlConnection(ConnetStr);
}
// 如果链接对象关闭,则打开链接
if (Conn.State == System.Data.ConnectionState.Closed)
{
Conn.Open();
}
// 如果链接中断,则重启链接
if (Conn.State == System.Data.ConnectionState.Broken)
{
Conn.Close();
Conn.Open();
}
}
// 查询,获取DataReader
public static MySqlDataReader GetDataReader(string SqlStr)
{
InitConnection();
MySqlCommand cmd = new MySqlCommand(SqlStr, Conn);
// CommandBehavior.CloseConnection 命令行为,当DataReader对象被关闭时,自动关闭
// 占用的链接对象
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
// 查询表
public static MySqlDataAdapter GetAllInfo(string SqlStr)
{
InitConnection();
MySqlCommand cmd = new MySqlCommand(SqlStr, Conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
return da;
}
//增、删、改操作
public static bool ExecuteNonQuery(string sqlStr)
{
InitConnection();
MySqlCommand cmd = new MySqlCommand(sqlStr, Conn);
int result = cmd.ExecuteNonQuery();
Conn.Close();
return result > 0;
}
// 执行集合函数
public static object ExecuteScalar(string sqlStr)
{
InitConnection();
MySqlCommand cmd = new MySqlCommand(sqlStr, Conn);
object result = cmd.ExecuteScalar();
Conn.Close();
return result;
}
}
}
强大,判断连接是否存在很厉害