Koristenje .NET tehnologije i MySQL-a
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% [?]
Najnoviji Komentari