Profesyonel Paylasim Portali
Would you like to react to this message? Create an account in a few clicks or log in to continue.


 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 C ile MySQL sorgulamak.

Aşağa gitmek 
2 posters
YazarMesaj
gokhanb
Site Admin
Site Admin
gokhanb


Mesaj Sayısı : 87
Doğum tarihi : 02/03/90
Kayıt tarihi : 20/07/09
Nerden : Konya
Yaş : 34

C ile MySQL sorgulamak. Empty
MesajKonu: C ile MySQL sorgulamak.   C ile MySQL sorgulamak. I_icon_minitimePtsi Tem. 20, 2009 8:28 pm

C programlama dilinde MySQL veritabanını sorgulamak kimilerine zor gelebilir
.Aslında bilinmesi gereken MySQL veritabanının C üzerindeki prosedürleridir.
Bu kaynak bu prosedürlerin en basite indirgenmiş halini kapsamaktadır.
Öncelikle 'C' programlama dilinde MySQL veri tabanını kullanabilmemiz için sistemimizde MySQL bileşenlerinin tanımlanmış olması gerekir.
MySQL bileşenleri mysqlclient kütüphanesi içerisinde yer alır.Bu sebeple standart bir derleme işlemi yapamayız. Bunun için derlemeyi yapacak olan gcc komutumuza "-lmysqlclient" takısını eklememiz gerekiyor.Örnek verecek olursak:
gcc sql.c -lmysqlclient -o sql

İşte başlıyoruz..

#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <mysql/mysql.h>
İlk olarak bize gerekli olan başlık dosyalarımızı programımıza ekliyoruz.Burda size yabancı
gelebilecek olan "mysql.h" başlık dosyasıdır.Sistemimizde bulunan MySQL bileşenlerini ve gerekli
fonksiyonları bu dosya ile programımıza atamış oluyoruz.Diğer başlık dosyaları standart 'C' kütüphaneleridir.

MYSQL *mysql;
Bu satırda veritabanına bağlanırken kullanacağımız değişkeni tanımlıyoruz.

MYSQL_RES *result;
Bu satır sorgudan sonra sonuçları kullanabilmemiz için sahip olmamız gereken değişkeni tanımlıyoruz.

MYSQL_ROW row;
mysql_fetch_row fonksiyonu ile satırlar halinde aldığımız sonuçları kullanabilmek
için bu tipte bir değişkene ihtiyacımız vardır.

MYSQL *connection;
Bu değişkenimizi, bağlantıyı gerçekleştirmek aynı zamanda hata yakalamak için kullanacağız.

int qt;
Sorgu yapabilmemiz için gerekli olan değişkenimiz.

mysql_init(mysql);
Bu fonksiyon ile birlikte MySQL değişkenimizi açıyor yani çalıştırıyoruz.

connection = mysql_real_connect(mysql, "localhost", "uname", "upass", "dname", 0, NULL, 0);
Sıra geldi bağlantımızı gerçekleştirmeye.Yerel alana kullanıcı adı "uname" şifresi "upass" olarak giriş
yapıyor "dname" adlı veritabanını açıyoruz.Geri kalan argümanlar ise sırasıyla port,bağlantı tipi ve giriş izinlerini belirtiyor.

if (connection == NULL){
printf(mysql_error(mysql));
return 1;
}
Bu kısımda (eğer) bağlantıda herhangi bir hata oluşmuşsa onu ekrana basıyoruz.

qt = mysql_query(connection, "select sql_int, sql_char from test);
MySQL cümleciğini çalıştırıyoruz.

if (qt != 0)
{
printf(mysql_error(connection));
return 1;
}
Cümlecikte herhangi bir hata olup olmadığını kontrol ediyoruz.

result = mysql_store_result(connection);
Sorgu sonuçlarını result değişkenine aktarıyoruz.

row = mysql_fetch_row(result);
Satırlar halinde sonuçları alıyoruz.

while((row = mysql_fetch_row(result)) != NULL ) {
printf("int: %s, char: %s\n", row[0], row[1]);
}
Satır sonuna gelene dek bütün sonuçları alıp ekrana basıyoruz.

mysql_close(connection);
mysql_free_result(result);
Bağlantımızı kapatıp sonuçları bellekten atıyoruz.

Basitçe bir sorgulama işlemi buraya kadar.
Son olarak programımızın tüm halini yazalım.
Kod:

#include <stdio.h>
#include <string.h>
#include <sys/time.h>
#include <mysql/mysql.h>

int main(){
MYSQL *mysql;
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection;
int qt;

mysql_init(mysql);
connection = mysql_real_connect(mysql, "localhost", "uname", "upass", "dname", 0, NULL, 0);

if (connection == NULL){
printf(mysql_error(mysql));
return 1;
}


qt = mysql_query(connection, "select sql_int, sql_char from test");

if (qt != 0)
{
printf(mysql_error(connection));
return 1;
}

result = mysql_store_result(connection);
row = mysql_fetch_row(result);
while((row = mysql_fetch_row(result)) != NULL ) {
printf("int: %s, char: %s\n", row[0], row[1]);
}

mysql_close(connection);
mysql_free_result(result);
return 0;
Sayfa başına dön Aşağa gitmek
https://full-master.yetkin-forum.com
hayber
FM Yeni Uye
FM Yeni Uye
hayber


Mesaj Sayısı : 35
Doğum tarihi : 20/01/84
Kayıt tarihi : 21/07/09
Nerden : Konya
Yaş : 40

C ile MySQL sorgulamak. Empty
MesajKonu: Geri: C ile MySQL sorgulamak.   C ile MySQL sorgulamak. I_icon_minitimeSalı Tem. 21, 2009 2:14 am

Sagol Paylasım İcin
Sayfa başına dön Aşağa gitmek
 
C ile MySQL sorgulamak.
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Profesyonel Paylasim Portali :: Programlama Dilleri :: C / C++ / C#-
Buraya geçin: