Hallo,
Ik heb niet veel ervaring met het programmeren van Win32 applicaties, maar probeer nu een programma te schrijven dat waarden in een MySQL database kan zetten. Op de website van MySQL vond ik een voorbeeld hiervan. Deze heb ik gewoon copy/paste naar Visual Studio 2010 gedaan en gebuild in Release mode.
Nu krijg ik de volgende error:
Unhandled exception at 0x7855b9f0 in lift_db.exe: 0xC0000005: Access violation reading location 0x736f686c.
De code zier er als volgt uit:
Heeft iemand enig idee wat er fout gaat? Volgens de Visual Studio debugger zit de fout bij ''driver->connect''. De gegevens die hier ingevoerd zijn kloppen gewoon. Via de command-line client van MySQL server kan ik hiermee inloggen.
Ik heb niet veel ervaring met het programmeren van Win32 applicaties, maar probeer nu een programma te schrijven dat waarden in een MySQL database kan zetten. Op de website van MySQL vond ik een voorbeeld hiervan. Deze heb ik gewoon copy/paste naar Visual Studio 2010 gedaan en gebuild in Release mode.
Nu krijg ik de volgende error:
Unhandled exception at 0x7855b9f0 in lift_db.exe: 0xC0000005: Access violation reading location 0x736f686c.
De code zier er als volgt uit:
C++:
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
| #include "stdafx.h" #include <stdlib.h> #include <iostream> #include "mysql_connection.h" #include <cppconn/driver.h> #include <cppconn/exception.h> #include <cppconn/resultset.h> #include <cppconn/statement.h> using namespace std; int main(void){ cout << endl; cout << "Running 'SELECT 'Hello World!'AS _message'..." << endl; try { sql::Driver *driver; sql::Connection *con; sql::Statement *stmt; sql::ResultSet *res; /* Create a connection */ driver = get_driver_instance(); con = driver->connect("localhost", "root", "pass"); /* Connect to the MySQL test database */ con->setSchema("test"); stmt = con->createStatement(); res = stmt->executeQuery("SELECT 'Hello World!' AS _message"); while (res->next()) { cout << "\t... MySQL replies: "; /* Access column data by alias or column name */ cout << res->getString("_message") << endl; cout << "\t... MySQL says it again: "; /* Access column fata by numeric offset, 1 is the first column */ cout << res->getString(1) << endl; } delete res; delete stmt; delete con; } catch (sql::SQLException &e) { cout << "# ERR: SQLException in " << __FILE__; cout << "(" << __FUNCTION__ << ") on line " << __LINE__ << endl; cout << "# ERR: " << e.what(); cout << " (MySQL error code: " << e.getErrorCode(); cout << ", SQLState: " << e.getSQLState() << " )" << endl; } cout << endl; return EXIT_SUCCESS; } |
Heeft iemand enig idee wat er fout gaat? Volgens de Visual Studio debugger zit de fout bij ''driver->connect''. De gegevens die hier ingevoerd zijn kloppen gewoon. Via de command-line client van MySQL server kan ik hiermee inloggen.