C# programozás - MySQL kapcsolat kialakítása

 Ahhoz, hogy a programunk - legyen az vizuális, vagy konzol - tudjon adatbázissal dolgozni, szükségünk van arra, hogy készítsünk egy adatbázis konnektort. Ezt jelen esetben MySQL használatával oldjuk meg, de nem sokban különbözik a sima SQL-től (az elv ugyanaz).

Feltételezzük, hogy már van egy létező C# projektünk (konzolos, vagy vizuális), ebbe fogunk létrehozni egy új osztályt.

Ezután, a nuGet csomagkezelővel leszedjük és a projektünk részévé tesszük a MySql.Data nevű csomagot. Ebből fogjuk megkapni azokat a függvényeket, amelyeket használnunk kell majd.

Ezután, megírjuk az adatbáziskezelő apparátus kódját az általunk létrehozott új osztályba.

Ez a példa egy egyszerű, "fapados" verzió. Tartalmaz egy query típusú utasítást, valamint egy non query típusút. Az egyeket lekérdezésekre és azok eredményeinek lekérésére alkalmazzuk, a másikat minden olyan utasítás lefuttatására, amely nem lekérdezés (olyan utasítások, amelyek transzformálják, vagy az adatokat, vagy magát az adatbázist.

Kód:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using MySql.Data;


namespace Logos
{
class DtKonn
{
public bool Login(string name, string adat)
{
bool b = false;
string cnStr = "server=localhost;user=root;database=tdb;port=3306;password=";
MySqlConnection conn = new MySqlConnection(cnStr);
try
{
conn.Open();
string sql = "SELECT nev, adat from users WHERE nev='" + name + "' AND adat=" + adat;
MySqlCommand mcc = new MySqlCommand(sql, conn);
MySqlDataReader dr = mcc.ExecuteReader();
List<string> dt = new List<string>();
while (dr.Read())
{
dt.Add(dr.GetString(0) + ";" + dr.GetInt32(1));
}
if (dt.Count > 0)
{
b = true;
}
conn.Close();
}
catch (Exception e)
{
Console.WriteLine(e);
}
return b;
}

public bool Regi(string nev,string nem,string adat)
{
bool b = false;
string cnStr = "server=localhost;user=root;database=tdb;port=3306;password=";
MySqlConnection conn = new MySqlConnection(cnStr);
int id = Szam()+1;
try
{
conn.Open();
string sql = "INSERT into users (id,nev,nem,adat) VALUES (" + id + ",'" + nev + "','" + nem + "'," + adat + ")";
MySqlCommand mcc = new MySqlCommand(sql, conn);
mcc.ExecuteNonQuery();
conn.Close();
b = true;
}
catch (Exception e)
{
Console.WriteLine(e);
}
return b;
}

public int Szam()
{
int szam = 0;
string cnStr = "server=localhost;user=root;database=tdb;port=3306;password=";
MySqlConnection conn = new MySqlConnection(cnStr);
try
{
conn.Open();
string sql = "SELECT COUNT(*) FROM users";
MySqlCommand mcc = new MySqlCommand(sql, conn);
MySqlDataReader dr = mcc.ExecuteReader();
dr.Read();
szam = dr.GetInt32(0);
conn.Close();
}
catch (Exception e)
{
Console.WriteLine(e);
}
return szam;
}
}
}



Megjegyzések

Népszerű bejegyzések ezen a blogon

Backend - node.js és express használatával

Frontend - React használatával

Szoftverfejlesztő anyagok!