Bu sıralar yazılım ile ilgili  fazla konu yazdığımın farkındayım. Fakat gelişen teknoloji ve gömülü sistemlerin bir çok yazılım diline adapte edilmesi, yazılımı artık elektroniğin ayrılmaz bir parçası haline getirdi. Elektronik artık bilgisayar ve yazılım olmadan oldukça kullanışsız oluyor.  Bu yüzden bir elektronikçinin aynı zamanda iyi bir yazılım bilgisine de sahip olması gerektiğini düşünüyorum.  Ve “Elektrik-Elektronik” diye bir branşın olması yerine “Elektronik ve Bilgisayar” gibi bir branşın olması çok daha mantıklı geliyor bana. Amerika gibi gelişmiş ülkeler bu durumu yıllar öncesinden fark etmiş olmalı ki onlarda branşlaşma bu şekilde.  Neyse konuyu dağıtmadan c++, Mysql bağlantısına geçelim.

a25

Daha önceki yazılarımda C#-MySQL veri tabanı bağlantısına değinmiştim.   C# kullanırken veri tabanı bağlantısında MySql Connector isminde bir dosya indirmemiz ve C# a kütüphane olarak dahil etmemiz gerekiyordu.  Aynı işlem C++ içinde geçerli. Fakat C++ için indireceğiniz connector dosyası farklı.  Buradan dosyaları indirip c++ da programınıza kütüphaneyi dahil etmek için yazdığınız programın dizinine bu dosyaları kopyalamanız gerekiyor. Daha sonra

#include "mysql.h" // Kütüphaneyi dahil ediyoruz 

// ve ya dosya yolunu göstererek de dahil edebilirsiniz
//#include "C:\sql\include\mysql.h"


MYSQL *mysql; // mysql Pointer'ı
MYSQL_RES *result; // Mysql bağlantı işleminin sonuçlarını tutan pointer
MYSQL_ROW row; // Dönen sonuçların satır satır tutacak değişken
MYSQL *conn; // Bağlantı pointer'ı
int query; // sorgu için kullanılan değişken

void main()
{
	mysql_init(&mysql); // burayı null da yapailiyosunuz yani msql_init(NULL)
	connection = mysql_real_connect(&mysql,"host","user","password","database",0,0,0); // burada bağlantı için gereken bilgileri giriyosunuz
	if(connection==NULL) // eğer bağlantı sağlanmadıysa
	{
		cout<<mysql_error(&mysql)<<endl;
	}
	else // Bağlantı başarılı ise
	{
		cout<<"CONNECTED!"<<endl;
	}
}

Bağlantıyı bu şekilde sağlayabilirsiniz. Veri tabanından bilgi çekmek ve veri tabanına bilgi yazmak için sorguları kullanıyoruz.  Mesela;

query =mysql_query(baglan, "select * from tablo" // Veri tabanından belli bir tablo seçtik

result = mysql_store_result(baglan);  // Gelen sonucu satır satır okuduk.
row = mysql_fetch_row(sonuc);
while((row=mysql_fetch_row(result))!=NULL) // Eğer veritabanından bilgi gelmişse
{
      printf("%s %s %s %s\n", row[0], row[1], row[2], row[3]); // 4 satırı yazdırdık
}

İşin programsal olan basit kısmı bu şekilde.  Önemli bir kısmı işin güvenliği ve hızıyla alakalı olanı.  Web uygulamalarda ve yerel ağlarda yazılan programlar veritabanlarında çok özel bilgiler saklar. Bu veri tabanlarına başkalarının erişim sağlaması bir çok önemli bilginin ele geçirilmesi alamına gelir. Banka hesapları, şifreler, özel erişim bilgileri vesaire vesaire…   Bir sonraki yazımda Veritabanı güvenliği ile