Kategori: Yazılım
MySQL Connector/C kullanarak oluşturduğunuz programlarla MySQL Sunucu'da yer alan veritabanlarında yapılan sorgulamalarda (query), sprintf() fonksiyonu kullanır ve tablo veri alanlarındaki tarih değerlerini DATE_FORMAT komutu ile yapılandırarak tablodan okutmak isterseniz, DATE_FORMAT komutu içinde yer alan % karakterinin sprintf() fonksiyonu parametresi olarak algılanmaması için önüne ek olarak bir % karakteri daha yazmak gerekir.
Aşağıdaki komut satırı genel kullanım şeklini göstermektedir:
sprintf(dizi, "SELECT DATE_FORMAT(alan_adi, '%%d.%%m.%%Y') as tarih_tr FROM tablo_adi");
Aşağıdaki kodlar fatura adlı tablodan tarih alan değerini gg.aa.yyyy formatında okuyarak qdizi adlı karakter dizisine atar ve bu diziyi kullanarak mysql_query() fonksiyonuyla sorgulamayı gerçekleştirir:
MYSQL *conn;
char qdizi[1000];
conn = mysql_init(NULL);
if(conn == NULL) {
MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
return 0;
}
if(mysql_real_connect(conn, "localhost", "root", "password", "veritabani_adi", 3306, NULL, 0) == NULL) {
MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
mysql_close(conn);
return 0;
}
sprintf(qdizi, "SELECT DATE_FORMAT(tarih, '%%d.%%m.%%Y') as tarih_tr FROM fatura", );
if(mysql_query(conn, qdizi)) {
MessageBox(NULL, mysql_error(conn), "Veritabanı hatası", MB_OK | MB_ICONWARNING);
mysql_close(conn);
return 0;
}