Forum: PC-Programmierung Datenbank ODBC Rückgabewert


von Student (Gast)


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 ;-)

von Florian (Gast)


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);

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.