C Veri Tabanından Resim Ekleme Çekmne

C Veri Tabanından Resim Ekleme ve Çekme

Veri tabanları, verileri yapılandırılmış bir şekilde saklamak için kullanılan önemli araçlardır. Resimler, günümüzün dijital dünyasında yaygın olarak kullanılan veri türlerinden biridir. C programlama dilinde, veri tabanlarına resim eklemek ve çekmek için çeşitli yöntemler mevcuttur. Bu makale, C’de veri tabanından resim ekleme ve çekme işlemlerini ayrıntılı bir şekilde inceleyecektir.

Veri Tabanı Bağlantısı Kurma

Veri tabanına resim eklemek veya çekmek için öncelikle bir bağlantı kurmanız gerekir. Bu, mysql_connect() veya mysqli_connect() gibi C’de bulunan yerel işlevler kullanılarak yapılabilir. Bağlantı kurulduktan sonra, veri tabanını seçmeniz ve sorgu çalıştırmanız gerekir.

Resim Ekleme

Veri tabanına resim eklemek için INSERT ifadesi kullanılır. INSERT ifadesi, resmin saklanacağı tabloyu, sütunları ve değerleri belirtir. Aşağıdaki kod örneği, “images” adlı bir tabloya “image” adlı bir sütuna bir resim ekler:

“`c
MYSQL conn;
MYSQL_STMT
stmt;
MYSQL_BIND bind[2];
char *query = “INSERT INTO images (image) VALUES (?)”;

// Veri tabanı bağlantısı kur
conn = mysql_connect(“localhost”, “kullanıcı_adı”, “şifre”, “veri_tabanı_adı”);

// Hazırlanan ifade oluştur
stmt = mysql_stmt_init(conn);
mysql_stmt_prepare(stmt, query, strlen(query));

// Bağlama parametrelerini ayarla
memset(bind, 0, sizeof(bind));
bind[0].buffer_type = MYSQL_TYPE_BLOB;
bind[0].buffer = (void *) resim_veri;
bind[0].buffer_length = resim_boyutu;

// Bağlamaları ifadeye ekle
mysql_stmt_bind_param(stmt, bind);

// İfadeyi çalıştır
mysql_stmt_execute(stmt);

// İfadeyi kapat
mysql_stmt_close(stmt);

// Bağlantıyı kapat
mysql_close(conn);
“`

Resim Çekme

Veri tabanından resim çekmek için SELECT ifadesi kullanılır. SELECT ifadesi, resmin çekileceği tabloyu, sütunları ve koşulları belirtir. Aşağıdaki kod örneği, “images” adlı bir tablodan “image” adlı bir sütunu çeker:

“`c
MYSQL conn;
MYSQL_STMT
stmt;
MYSQL_BIND bind[1];
char *query = “SELECT image FROM images WHERE id = ?”;

// Veri tabanı bağlantısı kur
conn = mysql_connect(“localhost”, “kullanıcı_adı”, “şifre”, “veri_tabanı_adı”);

// Hazırlanan ifade oluştur
stmt = mysql_stmt_init(conn);
mysql_stmt_prepare(stmt, query, strlen(query));

// Bağlama parametrelerini ayarla
memset(bind, 0, sizeof(bind));
bind[0].buffer_type = MYSQL_TYPE_BLOB;
bind[0].buffer = (void *) resim_veri;
bind[0].buffer_length = resim_boyutu;

// Bağlamaları ifadeye ekle
mysql_stmt_bind_param(stmt, bind);

// İfadeyi çalıştır
mysql_stmt_execute(stmt);

// İfadeyi kapat
mysql_stmt_close(stmt);

// Bağlantıyı kapat
mysql_close(conn);
“`

Faydalı Siteler ve Dosyalar


Yayımlandı

kategorisi