ForumAlem
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Yetkinforum.com | Müzik | Hip Hop | ©phpBB | Bedava yardımlaşma forumu | Suistimalı göstermek | Son tartışmalar
ForumAlem

ForumAlem
 
AnasayfaAnasayfa  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 C ile MySQL sorgulamak

Aşağa gitmek 
YazarMesaj
KaoS
Admin
Admin
KaoS


Mesaj Sayısı : 170
Kayıt tarihi : 02/08/08
Yaş : 35
Nerden : KONYA

C ile MySQL sorgulamak Empty
MesajKonu: C ile MySQL sorgulamak   C ile MySQL sorgulamak Icon_minitimePerş. Ağus. 14, 2008 10:18 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..
Kod:

#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.
Kod:

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://forumalem.hareketforum.net
 
C ile MySQL sorgulamak
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

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