/*---------------------------------------------------------------- * // author:HQ * // describe:Database connet * // date:2019-10-08 * ------------------------------------------------------------------*/ using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.Data.OracleClient; using System.Data.SqlClient; using MySql.Data.MySqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WorkNet { public class Database_Operation { private SqlConnection sql_con; private OracleConnection oracle_con; private MySqlConnection mysql_con; #region SqlServer /// <summary> /// SQLserver open /// </summary> /// <param name="link">link statement</param> /// <returns>Success:success; Fail:reason</returns> public string Sqlserver_Open(string link) { try { sql_con = new SqlConnection(link); sql_con.Open(); return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// SQLserver close /// </summary> /// <returns>Success:success Fail:reason</returns> public string Sqlserver_Close() { try { if (sql_con == null) { return "No database connection"; } if (sql_con.State == ConnectionState.Open || sql_con.State == ConnectionState.Connecting) { sql_con.Close(); sql_con.Dispose(); } else { if (sql_con.State == ConnectionState.Closed) { return "success"; } if (sql_con.State == ConnectionState.Broken) { return "ConnectionState:Broken"; } } return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// SQLserver insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string Sqlserver_Insdelupd(string sql) { try { int num = 0; if (sql_con == null) { return "Please open the database connection first"; } if (sql_con.State == ConnectionState.Open) { SqlCommand sqlCommand = new SqlCommand(sql, sql_con); num = sqlCommand.ExecuteNonQuery(); } else { if (sql_con.State == ConnectionState.Closed) { return "Database connection closed"; } if (sql_con.State == ConnectionState.Broken) { return "Database connection is destroyed"; } if (sql_con.State == ConnectionState.Connecting) { return "The database is in connection"; } } return "success" + num; } catch (Exception ex) { return ex.Message.ToString(); } } /// <summary> /// SQLserver insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <param name="link">link statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string Sqlserver_Insdelupd(string sql, string link) { the try { int num = 0; the using (the SqlConnection the SqlConnection new new = CON (Link)) { con.Open (); tools SqlCommand // database operation SqlCommand cmd = new SqlCommand (sql, con); // action statement and linking tools num = cmd.ExecuteNonQuery (); // perform the operation returns to affect the number of rows con.Close (); return "Success" NUM +; } } the catch (Exception EX) { return ex.Message.ToString (); } } /// <summary> /// SQLserver the SELECT /// </summary> /// <param name="sql">select statement</param> /// <param name="record">Success:success; Fail:reason</param> /// <returns>select result</returns> public DataSet Sqlserver_Select(string sql, out string record) { try { //储存数据的工具初始化 DataSet dataSet = new DataSet(); if (sql_con == null) { record = "Please open the database connection first"; return dataSet; } if (sql_con.State == ConnectionState.Open) { SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sql, sql_con); sqlDataAdapter.Fill(dataSet, "sample"); sqlDataAdapter.Dispose(); record = "success"; return dataSet; } if (sql_con.State == ConnectionState.Closed) { record = "Database connection closed"; return dataSet; } if (sql_con.State == ConnectionState.Broken) { record = "Database connection is destroyed"; return dataSet; } if (sql_con.State == ConnectionState.Connecting) { record = "The database is in connection"; return dataSet; } record = "ERROR"; return dataSet; } catch (Exception ex) { DataSet dataSet = new DataSet(); record = ex.Message.ToString(); return dataSet; } } /// <summary> SELECT SQLserver /// /// </summary> /// <param name="sql">select statement</param> /// <param name = "Link"> Link Statement </ param> /// <param name = "Record"> Success: Success; the Fail: reason </ param> /// <Returns> Result SELECT </ Returns> public Sqlserver_Select the DataSet (SQL String, String link, String Record OUT) { the try { // initialization means for storing data the DataSet the DataSet new new DS = (); // corresponds to a link to a database tools (connection string) the using (the SqlConnection the SqlConnection new new = CON (Link)) { con.Open (); // open // SqlConnection tool with links to databases, is now stored in sql adapter by sql query results SqlDataAdapter sda = new SqlDataAdapter (sql, con); // ( query and connectivity tools) sda.Fill (ds, "sample") ; // data into the adapter DataSet tool con.Close (); // run the SqlConnection tool sda.Dispose (); // manual release the SqlDataAdapter Record = "Success" ; return DS; } } the catch (Exception EX) { the DataSet the DataSet new new dataSet A = (); Record ex.Message.ToString = (); return dataSet A; } } #endregion #region the MySQL /// <summary> /// MySQL open /// </summary> /// <param name="link">link statement</param> /// <returns>Success:success; Fail:reason</returns> public string MySQL_Open(string link) { try { mysql_con = new MySqlConnection(link); mysql_con.Open(); return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// MySQL close /// </summary> /// <returns>Success:success Fail:reason</returns> public string MySQL_Close() { try { if (mysql_con == null) { return "No database connection"; } if (mysql_con.State == ConnectionState.Open || mysql_con.State == ConnectionState.Connecting) { mysql_con.Close(); mysql_con.Dispose(); } else { if (mysql_con.State == ConnectionState.Closed) { return "success"; } if (mysql_con.State == ConnectionState.Broken) { return "ConnectionState:Broken"; } } return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// MySQL insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string MySQL_Insdelupd(string sql) { try { int num = 0; if (mysql_con == null) { return "Please open the database connection first"; } if (mysql_con.State == ConnectionState.Open) { MySqlCommand sqlCommand = new MySqlCommand(sql, mysql_con); num = sqlCommand.ExecuteNonQuery(); } else { if (mysql_con.State == ConnectionState.Closed) { return "Database connection closed"; } if (mysql_con.State == ConnectionState.Broken) { return "Database connection is destroyed"; } if (mysql_con.State == ConnectionState.Connecting) { return "The database is in connection"; } } return "success" + num; } catch (Exception ex) { return ex.Message.ToString(); } } /// <summary> /// MySQL insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <param name="link">link statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string MySQL_Insdelupd(string sql, string link) { try { int num = 0; using (MySqlConnection con = new MySqlConnection(link)) { con.Open (); tools // operation of the database of the SqlCommand the MySqlCommand cmd = new new the MySqlCommand (SQL, con); // (operating statements and linking tools) NUM = cmd.ExecuteNonQuery (); // perform operations affect the number of rows returned con .close (); return "Success" NUM +; } } the catch (Exception EX) { return ex.Message.ToString (); } } /// <Summary> /// the MySQL SELECT /// </ Summary> / // <param name = "sql" > select statement </ param> /// <param name="record">Success:success; Fail:reason</param> /// <returns>select result</returns> public DataSet MySQL_Select(string sql, out string record) { try { //储存数据的工具初始化 DataSet dataSet = new DataSet(); if (mysql_con == null) { record = "Please open the database connection first"; return dataSet; } if (mysql_con.State == ConnectionState.Open) { MySqlDataAdapter sqlDataAdapter = new MySqlDataAdapter(sql, mysql_con); sqlDataAdapter.Fill(dataSet, "sample"); sqlDataAdapter.Dispose(); record = "success"; return dataSet; } if (mysql_con.State == ConnectionState.Closed) { record = "Database connection closed"; return dataSet; } if (mysql_con.State == ConnectionState.Broken) { record = "Database connection is destroyed"; return dataSet; } if (mysql_con.State == ConnectionState.Connecting) { record = "The database is in connection"; return dataSet; } record = "ERROR"; return dataSet; } catch (Exception ex) { DataSet dataSet = new DataSet(); record = ex.Message.ToString(); return dataSet; } } /// <summary> /// MySQL select /// </ Summary> /// <param name = "SQL"> SELECT Statement </ param> /// <param name = "Link"> Link Statement </ param> /// <param name = "Record "> Success: Success; the Fail: reason </ param> /// <Returns> SELECT Result </ Returns> public DataSet MySQL_Select (SQL String, String Link, String Record OUT) { the try { // initialization means for storing data DataSet ds = new DataSet (); a // tools corresponding to the link database (connection string) the using (the MySqlConnection the MySqlConnection new new = CON (link)) { con.Open ();//turn on // SqlConnection tool with links to databases, through sql query sql query results are now stored in the adapter MySqlDataAdapter sda = new MySqlDataAdapter (sql, con); // ( query and connectivity tools) sda.Fill (ds, "the Sample"); // DataSet data into the tool adapter con.Close (); // run the SqlConnection tool sda.Dispose (); // manual release the SqlDataAdapter Record = "Success"; return DS; } } the catch (Exception EX) { the DataSet the DataSet new new dataSet A = (); Record ex.Message.ToString = (); return dataSet; } } #endregion #region Oracle /// <summary> /// Oracle open /// </summary> /// <param name="link">link statement</param> /// <returns>Success:success; Fail:reason</returns> public string Oracle_Open(string link) { try { oracle_con = new OracleConnection(link); oracle_con.Open(); return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// Oracle close /// </summary> /// <returns>Success:success Fail:reason</returns> public string Oracle_Close() { try { if (oracle_con == null) { return "No database connection"; } if (oracle_con.State == ConnectionState.Open) { oracle_con.Close(); oracle_con.Dispose(); } else { if (oracle_con.State == ConnectionState.Closed) { return "success"; } if (oracle_con.State == ConnectionState.Broken) { return "ConnectionState:Broken"; } } return "success"; } catch (Exception ex) { return ex.Message; } } /// <summary> /// Oracle insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string Oracle_Insdelupd(string sql) { try { int num = 0; if (oracle_con == null) { return "Please open the database connection first"; } if (oracle_con.State == ConnectionState.Open) { OracleCommand oracleCommand = new OracleCommand(sql, oracle_con); num = oracleCommand.ExecuteNonQuery(); } else { if (oracle_con.State == ConnectionState.Closed) { return "Database connection closed"; } if (oracle_con.State == ConnectionState.Broken) { return "Database connection is destroyed"; } } return "success" + num; } catch (Exception ex) { return ex.Message.ToString(); } } /// <summary> /// Oracle insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <param name="link">link statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string Oracle_Insdelupd(string sql, string link) { try { int num = 0; using (OracleConnection oracleConnection = new OracleConnection(link)) { DataSet dataSet = new DataSet(); oracleConnection.Open(); OracleCommand oracleCommand = new OracleCommand(sql, oracleConnection); num = oracleCommand.ExecuteNonQuery(); oracleConnection.Close(); return "success" + num; } } catch (Exception ex) { return ex.Message.ToString(); } } /// <summary> /// Oracle select /// </summary> /// <param name="sql">select statement</param> /// <param name="record">Success:success; Fail:reason</param> /// <returns>select result</returns> public DataSet Oracle_Select(string sql, out string record) { try { DataSet dataSet = new DataSet(); if (oracle_con != null) { if (oracle_con.State == ConnectionState.Open) { OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(sql, oracle_con); oracleDataAdapter.Fill(dataSet, "sample"); oracleDataAdapter.Dispose(); record = "OK"; return dataSet; } if (oracle_con.State == ConnectionState.Closed) { record = "Database connection closed"; } else if (oracle_con.State == ConnectionState.Broken) { record = "Database connection is destroyed"; } } else { record = "Please open the database connection first"; } record = "error"; return dataSet; } catch (Exception ex) { DataSet dataSet = new DataSet(); record = ex.Message.ToString(); return dataSet; } } /// <summary> /// Oracle select /// </summary> /// <param name="sql">select statement</param> /// <param name="link">link statement</param> /// <param name="record">Success:success; Fail:reason</param> /// <returns>select result</returns> public DataSet Oracle_Select(string sql, string link, out string record) { try { using (OracleConnection oracleConnection = new OracleConnection(link)) { DataSet dataSet = new DataSet(); oracleConnection.Open(); OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(sql, oracleConnection); oracleDataAdapter.Fill(dataSet, "sample"); oracleDataAdapter.Dispose(); oracleConnection.Close(); record = "success"; return dataSet; } } catch (Exception ex) { DataSet dataSet = new DataSet(); record = ex.Message.ToString(); return dataSet; } } #endregion #region Access /// <summary> /// Access select /// </summary> /// <param name="sql">select statement</param> /// <param name="link">link statement</param> /// <param name="record">Success:success; Fail:reason</param> /// <returns>select result</returns> public DataSet Access_Mdb_Select(string sql, string link, out string record) { try { DataSet dataSet = new DataSet(); using (OleDbConnection oleDbConnection = new OleDbConnection(link)) { oleDbConnection.Open(); OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(sql, oleDbConnection); oleDbDataAdapter.Fill(dataSet, "sample"); oleDbDataAdapter.Dispose(); oleDbConnection.Close(); record = "success"; return dataSet; } } catch (Exception ex) { DataSet dataSet = new DataSet(); record = ex.Message.ToString(); return dataSet; } } /// <summary> /// Access insert,delete,update /// </summary> /// <param name="sql">insert,delete,update statement</param> /// <param name="link">link statement</param> /// <returns>Success:success + Number of affected rows; Fail:reason</returns> public string Access_Mdb_Insdelupd(string sql, string link) { try { using (OleDbConnection oleDbConnection = new OleDbConnection(link)) { DataSet dataSet = new DataSet(); oleDbConnection.Open(); OleDbCommand oleDbCommand = new OleDbCommand(sql, oleDbConnection); int num = oleDbCommand.ExecuteNonQuery(); oleDbConnection.Close(); return "success" + num; } } catch (Exception ex) { return ex.Message.ToString(); } } #endregion } }