• Tüm Dersler
  • Forum

Ana Menü

  • Anasayfa

Dersler

  • C/C++
  • C#
  • Visual Basic
  • Yazılım Proje Yönetimi
  • Mikro İşlemciler
  • Linux
  • MSSQL
  • MySQL

Hakkımda

  • Ben Kimim?

JFusion Login Module



  • Forgot your password?
  • Forgot your username?
  • Create an account

Fecebook

Yusuf Karakaya'nın Facebook profili

Linux C ile Mysql Bağlantı PDF Yazdır e-Posta
Yusuf tarafından yazıldı   
Perşembe, 07 Mayıs 2009 15:43
C'de küçük Mysql veritabanı bağlantı programı.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
#include <mysql.h>
#include <stdio.h>
 
int main(void) {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
/* Mysql Giris Parametreleri */
char *server = "localhost";
char *user = "root";
char *password = "PASSWORD";
char *database = "mysql";
char *socket = "socket_url";
 
conn = mysql_init(NULL);
 
/* Veritabanına bağlan */
if (!mysql_real_connect(conn, server,
user, password, database, 0, socket, 0)) {
fprintf(stderr, "Hata:%s\n", mysql_error(conn));
exit(1);
}
 
/* SQL sorgusu gönder */
if (mysql_query(conn, "show tables")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
 
res = mysql_use_result(conn);
 
/* Cikti Tablosu */
printf("mysql veritabanında MySQL Tabloları:\n");
while ((row = mysql_fetch_row(res)) != NULL)
printf("%s \n", row[0]);
 
/* Baglantiyi Kapat */
mysql_free_result(res);
mysql_close(conn);
 
return 0;
}

 


 

 

Aşağıdaki programda odevdb adlı veritabanına bağlanıyor ve burada odevuser adlı tablodan verileri çekiyor. Veriler id(ÖgrenciNo), UserId(Öğrenci Ad Soyad), homedir(Ödevin Bulunduğu Klasör Yolu). Bu bilgileri listeliyor ve öğrenci klasöründeki dosyaları öğrenci bilgilerinin altında sıralıyor.

 

C de Mysql Baglanti Ornegi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* Gereksiz kutuphaneleri silebilirsiniz :D */
#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <mysql.h>
#include <time.h>
 
 
int main(int argc, char *argv[])
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
 
char *server = "localhost";
char *user = "root";
char *password = "karakaya";
char *database = "odevdb";
 
/* Bunu yazmadan benim makinede mysql giriş yapılmıyor */
char *soket="/var/run/mysqld/mysqld.sock";
 
char *yol;
double fark=0;
time_t zaman_now;
(void)time( &zaman_now);
printf("Argüman Sayısı:%d \n",argc);
if (argc==3)
{
printf("işlem başlasın !!!");
/* 60*60*60*24 */
fark=atoi(argv[1])*5184000;
printf("%s",ctime(&zaman_now));
conn = mysql_init(NULL);
 
if (!mysql_real_connect(conn, server,user, password, database, 0, soket,0))
{
fprintf(stderr, "HATA:%s\n", mysql_error(conn));
exit(1);
}
if (mysql_query(conn, "select * from odevuser"))
{
fprintf(stderr, "Sorgu Hata:%s\n", mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf("Öğrenci Ödevlerini Tara:\n");
printf("Numara Ad Soyad Odev Konum\n");
while ((row = mysql_fetch_row(res)) != NULL)
{
DIR *dr;
struct dirent *dosya;
struct stat bilgi;
printf("%s %s %s\n", row[0],row[1],row[2]);
yol=row[2];
  if ((dr=opendir(yol))==NULL)
{
printf("Klasör okunamadı!\n%s",yol);
 
}
else
{
while((dosya=readdir(dr))!=NULL)
{
if(strcmp(".",dosya->d_name) == 0 || strcmp("..",dosya->d_name) == 0)
continue;
printf("Dosya:%s\n",dosya->d_name);
/* Asagidaki bilgi ile dosyayla ilgili bilgileri ogrenebiliriz */
lstat(dosya->d_name,&bilgi);
}
}
closedir(dr);
}
mysql_free_result(res);
mysql_close(conn);
}
else
{
printf("Bu komut 3 argümanla çalışır.\n");
printf("Kullanım Örneği: odev4 4 /home/karakayasoft/odevtopla/\n");
printf("Veritabanında öğrenci dizini örn:/home/karakayasoft/ogrenci/")
}


}

 

 


Yorumlar
Ara
Sadece kayıtlı kullanıcılar yorum yazabilir!

!joomlacomment 4.0 Copyright (C) 2009 Compojoom.com . All rights reserved."

Son Güncelleme: Salı, 12 Mayıs 2009 21:27
 
E-Ogretmen.ORG, Powered by Karakayasoft;

cssandhtml