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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.