Home > .NET, C# > Koristenje .NET tehnologije i MySQL-a

Koristenje .NET tehnologije i MySQL-a

Prosinac 18th, 2008

Koristenje .NET tehnologije i MySQL-a, preko ODBC drivera

M$ i ostale kompanije razvile su (pocetkom 90tih) Open Database Connectivity, ODBC.
Trebao je omoguciti pristup gotovo svim RDBMS-ovima, sistemima za upravljanje (relacionim) bazama podataka. MySQL tim je razvio svoje drivere (MyODBC) koji omogucuju komunikaciju sa ovom popularnom bazom podataka.
Pitate se mozda zasto bi neko koristio C# + MySQL?
Recimo, ASP.NET programeri mogu imati koristi od ovog, da izvuku podatke koje koristi recimo LAMP sistem.
Ili recimo za manje projekte umjesto C#-MSSQL kombinacije, da izbjegnemo placanje skupog servera baze podataka.

Meni je konkretno trebalo za integraciju jedne desktop aplikacije i jedne “web based” aplikacije.

Instalacija MySQL-a i naštimavanje ODBC-a

Sa ovim necu peglati ni Vas ni sebe. Ko nezna nek’ cita manual :-) .

Ukratko:

Skinite zadnju verziju MySQL 4.x ovdje. Pokrenite instalaciju.

Nakon instalacije (predpostavljam da imate win2000/XP) instalirajte MySQL kao servis.

C:\mysql\bin> mysqld-max-nt –install

Skinite zadnju verziju MyODBC ovdje. Instalirajte je.

Otvorite Control Panel -> Administrative Tools -> Data Sources (ODBC)

Odaberite User DNS -> Add… Podatke upisite kao na slici

Kliknite na Test Data Source i trebali bi vidjeti slijedeci prozor

Pored gore navedenih stvari potrebno je da imate instaliran .NET framework verzija 1.1, te Microsoft Data Access Components (MDAC) verzija 2.7 (ili više).

C# kod

Podjimo sada sa pisanjem koda.

Predpostavljam da poznajete osnove C#, pa

kreirajte prozor kao na slici, na načinom koji inače to praktikujete.

Dodajte jedno dugme i dajte mu ime btnKonekcija, labeli dajte ime lblInfo (na njoj cemo pisati poruke).

Na pocetku vašeg koda dodajte using statment

using System.Data.Odbc;

Ovim importujemo ODBC.NET namespace u našu aplikaciju.

Definisite klik event za dugme konekcija

this.btnKonekcija.Click += new System.EventHandler(this.btnKonekcija_Click);

te pripadajucu funkciju, u kojoj cemo obraditi ovaj klik.

private void btnKonekcija_Click(object sender, System.EventArgs e)

Na pocetku ove funkcije deklarisacemo novu ODBC komandu (vise), string koji ce nam koristiti kao query, te jedan OdbcDataReader (vise).

OdbcCommand komanda;

string mysql_query_string;

mysql_query_string=”SELECT * FROM mysql_test”;

OdbcDataReader chiter; //chitati + reader ;-)

U bazi podataka kreirao sam tabelu slijedecim query-jem.

CREATE TABLE `mysql_test` (

`ID` int(6) unsigned NOT NULL auto_increment,

`Neki_txt` text,

PRIMARY KEY (`ID`),

KEY `ID` (`ID`)

) TYPE=MyISAM

Tabela je napunjena sa skoro 20000 slogova, Neki_txt polje je popunjeno sa 1000 random karaktera. Ovu tabelu cemo iskoristiti u nekom od slijedecih clanaka, ako Bog da, kada se budemo igrali više sa podacima (ovaj prvi dio je rezervisan za konekciju).

Nasu konekciju cemo ubaciti u try-catch statment, da bi obradili eventualne greške.

Konekciju (vise) otvaramo prema DSN koji smo definisali na pocetku.

OdbcConnection konekcija = new OdbcConnection(“DSN=mysql_csharp”);

Pravimo instancu komande, sa navedenim stringom i konekcijom.

komanda = new OdbcCommand(mysql_query_string,konekcija);

Otvaramo konekciju.

konekcija.Open();

Pokrecemo nas OdbcDataReader

chiter = komanda.ExecuteReader();

Citamo podatke pomocu njega, te ga zatvorimo, a nakon toga zatvorimo i konekciju.

Pomocu catch bloka obradimo eventualnu gresku.

catch(Exception eks)

{

lblInfo.Text = “Greška:\n” + eks.Message;

lblInfo.BackColor = Color.Red;

lblInfo.ForeColor = Color.White;

}

Nakon pokretanja aplikacije trebali bi dobiti ovakav rezultat (u slucaju da je proslo bez greske)

Ili, u suprotnom

Nastavice se…

Dino Lokmić

Popularity: 6% [?]

.NET, C# , ,

  1. Trenutno nema komentara.
  1. No trackbacks yet.