MySqlConnection
: Létrehozza a kapcsolatot egy specifikus adatforráshoz.MySqlCommand
: SQL parancsokat hajt végre az adatforrást használva.MySqlDataReader
: Adatot streamel az adatforrásról.DataSet
: Arra használják amikor offline kell dolgozni nagy adathalmazokkal. A MySqlDataReader
objektummal együtt adatokon végzett munkához használjuk. Ha egy lekérdezés eredményét szeretnénk olvasni, akkor a MySqlDataReader
-t célszerű használni. Ha komolyabb adatfeldolgozásra van szükségünk, vagy Winforms elemeket akarunk adatbázistáblához kötni, a DataSet
a jobb választás.MySqlDataProvider
Egy új C# projekt létrehozása után hozzá kell adnunk a választott MySQL kezelő package-t a solutionhoz.
Ehhez a Project
menü → Manage NuGet Packages
menüpontját választjuk és telepítjük a MySql.Data
package-t.
Alternatívaként a következő paranccsal is hozzáadható a csomag:
dotnet add package MySql.Data
Meg kell adni, hogy melyik névteret importáljuk (using
).
using MySql.Data.MySqlClient;
Létre kell hozni egy connection string
-et, ami tartalmazza a szerverhez kapcsolódás adatait.
string connectionString = "server=localhost;port=3306;userid=root;password=alma;database=mo_telepulesek";
Létre kell hozunk a MySqlConnection
osztály egy példányát.
MySqlConnection dbConnection = new MySqlConnection(connectionString);
A MySqlConnection
példány segítségével kapcsolódunk a szerverre.
dbConnection.Open();
Egy string
típusú változóba meg kell írnunk a parancsot.
string sqlStatement = "SELECT version();";
Létre kell hoznunk a MySqlCommand
osztály egy példányát. Az objektum szerepe, hogy lekérdezéseket hajtson végre az adatbázison.
A létrehozásakor meg kell adni első argumentumként a futtatandó SQL parancsot, második argumentumnak pedig a kapcsolatot kezelő MySqlConnection
objektumot.
MySqlCommand sqlCommand = new MySqlCommand(sqlStatement, dbConnection);
Alternatívaként üres argumentumlistával is létrehozhatjuk az objektumot. Ilyenkor utólag a Connection
és CommandText
osztályváltozók értékének módosításával tudjuk megadni a szükséges adatokat.
MySqlCommand sqlCommand = new MySqlCommand();
sqlCommand.Connection = dbConnection;
sqlCommand.CommandText = sqlStatement;
Ezt követően végre kell hajtanunk a lekérdezést. Amennyiben a lekérdezés outputja skalár érték lesz, a MySqlConnection
osztály ExecuteScalar()
metódusát használjuk.
output = sqlCommand.ExecuteScalar().ToString();
A kapcsolat bontásához a MySqlConnection
osztály Close()
metódusát használjuk.
dbConnection.Close();