Datenbank ODBC Rückgabewert

Gast #583001
Lesenswert?

Hallo, wir sitzen zur Zeit an einer Semesterarbeit, für eine 
Kundenverwaltung mit Datenbankverbindung. Als Datenbankschnittstelle 
habe wir ODBC gewählt, nun scheitern wir allerdings daran, wie wir die 
Daten aus der Datenbank "herausbekommen", vielleicht hat da jemand einen 
Ansatz nach was man suchen muss, oder vielleicht ein kleines 
Beispielprogramm für Visual C++, unsere Datenbank ist MySql, weil diese 
uns vom Rechenzentrum bereitgestellt wird.

Schonmal dankeschön, wir verzweifeln langsam schon ;-)
Gast #583233
Lesenswert?

mysql ohne ODBC

musste den Code leider ein wenig unkenntlich machen, aber ich denke, es 
kommt soweit klar raus, wie es geht.
1
int OpenDB(void)
2
{
3
//...
4
  MYSQL *err;
5

6
  mysql = mysql_init(NULL);
7

8
  // mit Datenbank verbinden
9
  err = mysql_real_connect(mysql, dbname, NULL, NULL, NULL, MYSQL_PORT, NULL, 0);
10

11
  if (err==NULL)
12
  {
13
    OutputDebugString(mysql_error(mysql));
14
    OutputDebugString("\n");
15
    return 0;
16
  }
17
  mysql_select_db(mysql, "Name_der_Datenbank");
18

19
  OutputDebugString("OpenDB ok\n");
20

21
  return 1;
22
}
23

24
int InitDB(void)
25
{
26
  MYSQL_RES * res;
27

28
  int status;
29

30
  if (!OpenDB()) return 0;
31

32
  res = mysql_list_dbs(mysql, "Name_der_Datenbank");
33
  if (mysql_fetch_row(res)==NULL)
34
  {
35
    mysql_free_result(res);
36
    mysql_query(mysql, "CREATE DATABASE Name_der_Datenbank");
37
  } else mysql_free_result(res);
38
  status = mysql_select_db(mysql, "Name_der_Datenbenk");
39
  if (status) 
40
  {
41
    OutputDebugString("SELECT DB: ");
42
    OutputDebugString(mysql_error(mysql));
43
    OutputDebugString("\n");
44
    mysql_close(mysql);
45
    return 0;
46
  }
47

48
  // Tabellen anlegen, falls nicht schon vorhanden
49
  status = mysql_query(mysql, 
50
    "CREATE TABLE IF NOT EXISTS Projekte ("\
51
    "ID INT UNSIGNED NOT NULL AUTO_INCREMENT,"\
52
    "NAME TEXT,"\
53
    "BEMERKUNG TEXT,"\
54
    "PRIMARY KEY(ID))");
55
  if (status) 
56
  {
57
    OutputDebugString("CREATE PROJEKTE: ");
58
    OutputDebugString(mysql_error(mysql));
59
    OutputDebugString("\n");
60
    mysql_close(mysql);
61
    return 0;
62
  }
63
//...
64
}
65

66

67

68
....
69

70
  sprintf(qs, "SELECT FELD1 /* ... */ FROM /*...*/ "\
71
    "LEFT JOIN FELD2 ON /*...*/ "\
72
    "WHERE /*...*/=%d", akt);
73
  mysql_query(mysql, qs);
74
  res = mysql_store_result(mysql);
75
  
76
  for (;;)
77
  {
78
    row = mysql_fetch_row(res);
79
    if (row==NULL) break;
80

81
    if (atoi(row[0]) != xxx)
82
    {
83
                        /*...*/
84
      it.pszText = row[0];
85
    }
86

87
    OemToChar(row[1], qs);
88
    it.pszText = qs;
89
  }
90
  mysql_free_result(res);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren