Beste lezer,
Ik heb nog niet veel met MySQL en C# samen gedaan, maar ik wil graag een class maken waar ik query's naar kan sturen en dat deze dan worden uitgevoerd en het resultaat terug gestuurd wordt. Ik heb al een Class gemaakt maar vroeg me af of dit beter kon of dat iemand een betere class heeft.
Hier mijn class.
C#
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace E_learning
{
class Database
{
private MySqlConnection _MySQLconn;
/**
* Database - Class constructor
* stabilize database connection.
*/
public Database(string _sUser, string _sPassword, string _sDatabase, string _sHost = "locahost")
{
// Create DB connection
_MySQLconn = new MySqlConnection("Server=" + _sHost + ";Database=" + _sDatabase + ";Uid=" + _sUser + ";Pwd="+ _sPassword +";");
_MySQLconn.Open(); // Open DB connection
}
/**
* query - This functions is used to creates queries
*/
public DataTable query(string sQuery = "")
{
MySqlCommand mscSelect = new MySqlCommand(sQuery, _MySQLconn); // Create query
try
{
MySqlDataReader mscReader = mscSelect.ExecuteReader();
DataTable dtData = new DataTable();
dtData.Load(mscReader);
return dtData;
}
catch (Exception)
{
MessageBox.Show("Helaas, er is iets fout gegaan bij het ophalen van de gegevens.");
}
return new DataTable();
}
/**
* conn - Function that will return the MySQLConnection.
* When send a parameter it will set a new connection.
*/
public MySqlConnection conn(MySqlConnection NewMySQLconn = null)
{
if (MySqlConnection.ReferenceEquals(_MySQLconn, NewMySQLconn))
{
_MySQLconn = NewMySQLconn;
}
return _MySQLconn;
}
}
}
Toon Meer
EDIT:
Ik heb de tips van Bits geïmplementeerd. Hier het resultaat.