c++ mysql bağlantısı / C++ ile mysql bağlantısı - Rnet

C++ Mysql Bağlantısı

c++ mysql bağlantısı

MySQL, Unix, OS/2 ve Windows işletim sistemlerinde kullanılan açık kaynak kodlu ve ücretsiz olarak dağıtılan bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Multi-thread ve çok kullanıcılı olarak çalışabilir. Ticari lisans kullanmak isteyenler için ayrıca ücretli olan sürümleri de mevcuttur. ODBC sürücüleri de bulunduğu için birçok geliştirme platformunda rahatlıkla kullanılabilir.

MySQL bir sunucu üzerinde çalışırken, birden fazla kullanıcı verilere erişebilir ve üzerinde işlem yapabilir. Ayrıca, verilerin güvenli bir şekilde işlem görmesi sağlanır.

Bu bölümde, MySQL veritabanı sisteminin C progamlama dili ile birlikte kullanılmasını incelemeye çalışacağız. Programlarımızı Windows API kodlarıyla oluşturacağız. Bu amaçla, aşağıdaki programları kullanacağız:

Code:Blocks IDE : Yazdığımız C programlarını derlemek için kullanılır.

Sunucu Kurulumu : MySQL'in çalışacağı bir sunucu oluşturmak için kullanılır. Bu işlemi 3 farklı şekilde yapabilirsiniz:

1. Eğer sadece MySQL Server kurmak isterseniz, MySQL Community Server .zip uzantılı paketinin sisteminize uygun olarak 32 ya da 64 bit sürümünü indirip kurabilirsiniz.

2. İçinde MySQL Sunucu dışında ürünler de bulunan MySQL Installer (Windows) paketini indirip kurabilirsiniz.

3. WampServer programının bilgisayarınızın özelliklerine göre 32 ya da 64 bit sürümünü indirip kurarak, otomatik olarak MySQL sunucu kurmuş olursunuz.

MySQL Connector/C : MySQL sunucuya bağlanmak için C programlarında kullanacağımız komutlardan oluşan bir kütüphanedir. libmysql ve MySQL Native C API bu kütüphanenin diğer adlarıdır.

MySQL Connector/C client/server iletişimi için kullanılan bir C kütüphanesidir. MYSQL Server ile dağıtımı yapılan MySQL Client Library yerine kullanılmaktadır. Özellikle, MYSQL Server paketini derlemeye veya kurmaya ihtiyaç duyulmadığı durumlar için tercih edilebilir.

Desteklenen sistemler: Windows, Windows x64, Linux, Solaris, FreeBSD, Mac OS X, HP-UX, IBM AIX, IBM i5/OS

Libmysql ve MySQL Native C API olarak da bilinen MySQL Connector/C, C programları içinden MySQL Server'a bağlanmak için kullanılan C-temelli API ve bir kütüphanedir.

libmysql, MySQL Connector/C tarafından sunulan kütüphanenin adıdır.

MySQL Connector/C = libmysql = Native C API

libmysqld, MySQL Connector/C ile aynı API komutlarını kullanan gömülü(embedded) bir veritabanı sunucusudur. MySQL Connector/C içinde mevcut olmayıp, MySQL Server dağıtımı içinde yer alır. MySQL Server'ın gömülü(embedded) sürümüdür.

libmysqld gömülü sunucu kullanımında, program dışında bilgisayarda ayrıca bağımsız olarak çalışan bir sunucuya ihtiyaç duyulmaz. libmysqld kütüphane dosyaları MySQL Community Server'ın zip uzantılı dosyası içinde yer alır.

MySQL Connector/C paketini 2 farklı şekilde elde edebilirsiniz:

1. MySQL Connector/C kütüphanesinin sisteminize uygun olan 32 veya 64 bit sürümlerinden birisini indirebilirsiniz.

2. MySQL Installer indirerek kurulumunu yapabilir ve bu paketin içinde yer alan MySQL Connector/C kütüphanesini kullanabilirsiniz.

MySQL Installer, Windows işletim sistemleri için MySQL kurulumunu kolaylaştıran bir kurulum paketidir. Kurulum esnasında paket içinde yer alan ve aşağıda gösterilen ürünlerden istediğinizi kurabilirsiniz:

MySQL Server

MySQL Workbench

MySQL Connectors

  • Connectors/Net
  • Connectors/ODBC
  • Connectors/Java
  • Connectors/C
  • Connectors/C++

MySQL Samples and Examples

MySQL Documentation

Kurulum paketi içinde yer alan tüm ürünlerin 32 ve 64 bit'lik sürümleri mevcuttur. Sisteminize uygun olan sürüm otomatik olarak yüklenir.

STGM_SHARE_EXCLUSIVE,0, &pRootStorage);pRootStorage->CreateStream(L"Order Information",STGM_CREATE

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

 

p10 led panel

nest...

oksabron ne için kullanılır patates yardımı başvurusu adana yüzme ihtisas spor kulübü izmit doğantepe satılık arsa bir örümceğin kaç bacağı vardır