C#——》Web Api 操作MySQL數據庫公共類:MySql.Data


使用MySql.Data 連接mysql 數據庫,需先引用MySql.Data ,用過MySql.Data.dll操作Mysql數據庫。

1,在工具-Nuget包管理器-管理解決方案的Nuget程序包——安裝MySql.data.dll

 

2,使用 MySqlConnection連接數據庫,在使用MySqlCommand設置執行sql語句,執行類別,使用參數。

using System;
using System.Configuration;
using MySql.Data.MySqlClient;
using System.Data;
namespace Webapi.Data
{
public static class DBHelper
{
private static MySqlConnection con = null;

//獲取配置文件中的數據庫地址
private static string connection = ConfigurationManager.ConnectionStrings["smallprocedures"].ConnectionString;

/// <summary>
/// 開啟/關閉數據庫連接
/// </summary>
public static void Connection()
{

  try
  {
    if (con != null)
      con.Clone();
    else
    {
      con = new MySqlConnection(connection);
      con.Open();
    }
  }
  catch (Exception e)
  {
    //連接失敗
  }
}
/// <summary>
/// 查詢
/// </summary>
/// <param name="sql">sql語句</param>
/// <returns></returns>
public static DataSet Select(string sql)
{

  DataSet ds = new DataSet();
  try
  {
    Connection();//開啟
    MySqlCommand com = new MySqlCommand(sql, con);
    com.CommandType = CommandType.Text;//執行sql語句
    MySqlDataAdapter db = new MySqlDataAdapter(com);
    db.Fill(ds);//讀取數據
  }
  catch (Exception e)
  {

  }
  finally
  {
    Connection();//關閉
  }
  return ds;
}
/// <summary>
/// 查詢(存儲過程)
/// </summary>
/// <param name="procedureName">存儲過程名稱</param>
/// <param name="sqlParameter">參數</param>
/// <returns></returns>
public static DataSet Select_Procedure(string procedureName, MySqlParameter [] sqlParameter)
{
  DataSet ds = new DataSet();
  Connection();
  MySqlCommand com = new MySqlCommand(procedureName, con);
  com.CommandType = CommandType.StoredProcedure;//執行存儲過程
  try
  {
    if (sqlParameter != null)
    {
      for (int i = 0; i < sqlParameter.Length; i++)
      com.Parameters.Add(sqlParameter[i]);
    }
    using (MySqlDataAdapter db = new MySqlDataAdapter(com))
    db.Fill(ds);
  }
  catch (Exception e)
  {
    com.Parameters.Clear();
  }
  finally
  {
    Connection();
  }
  return ds;
}
/// <summary>
/// 增刪改
/// </summary>
/// <param name="sql">sql語句</param>
/// <returns></returns>
public static bool Update(string sql)
{
  Connection();
  int num = 0;
  MySqlCommand com = new MySqlCommand(sql, con);
  MySqlTransaction sqlTransaction = com.Transaction;//創建事務
  try
  {
    num= com.ExecuteNonQuery();

  }
  catch (Exception)
  {

    //異常處理
  }
  finally
  {
    if (num > 0)
      sqlTransaction.Commit();//提交
    else
      sqlTransaction.Rollback();//回滾

    Connection();

  }
  return false;
}
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM