Thanks a million for the help, I was able to work through most of the issues
but I think my fundamental modifications of the code that I did last night
were what was giving me the most problems. So, in short, I backed up the
version that I finally got to compile (which still doesn't compile into the
program itself which is why I think it might be a bigger set of what I did)
and then pulled a fresh copy of the file and did some very basic
modifications and I think I'm quite a bit further along but I appear to be
running into a big of an issue with it at this point and was wondering if I
could get any pointers as to if I have something with mysqlpp set up wrong?
I think I'm really really close, but a touch stuck =\.
### The Errors ###
lyra:src/SQL# make
g++ -Wall -Wno-deprecated -O -g -I/usr/include/mysql++ -I/usr/include/my
sql -c DatabaseControl.cpp
DatabaseControl.h:29: error: ISO C++ forbids declaration of 'Connection'
with no type
DatabaseControl.h:29: error: expected ';' before '*' token
DatabaseControl.cpp: In constructor 'DatabaseControl:

atabaseControl()':
DatabaseControl.cpp:39: error: 'm_conDB' was not declared in this scope
DatabaseControl.cpp:39: error: expected type-specifier before 'Connection'
DatabaseControl.cpp:39: error: expected `;' before 'Connection'
DatabaseControl.cpp: In member function 'std::map<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Command*,
std::less<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, std::allocator<std:

air<const
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
Command*> > > DatabaseControl::getCommands()':
DatabaseControl.cpp:54: error: 'm_conDB' was not declared in this scope
### The Snippets of Code ###
I have included mysql++.h and using namespace mysqlpp
DatabaseControl *DatabaseControl::s_DBCinstance((DatabaseControl*) 0);
/**
* Private contructor for the class. Creates a new Connection object
* and connects to the database.
*/
DatabaseControl:

atabaseControl()
{
try
{
m_conDB = new Connection();
m_conDB->connect(DBNAME, DBHOST, DBUSER, DBPASS);
}
catch(const BadQuery& er)
{
cerr << "Error occured: " << er.what() << endl;
}
}
###### 2nd error related to below ######
map<string, Command*> DatabaseControl::getCommands()
{
map<string, Command*> theMap;
try
{
Query query = m_conDB->query();
query << "SELECT * FROM tbl_commands";
Result res = query.store();
Row row;
Result::iterator it;
for(it = res.begin(); it != res.end(); ++it)
{
row = *it;
Command *newCmd = new Command(
row["Name"].get_string(),
row["Code"].get_string(),
(int)row["MinPosition"],
(int)row["Level"],
(int)row["Logged"],
(int)row["Enabled"] );
theMap[newCmd->getName()] = newCmd;
}
}
catch(const BadQuery& er)
{
cerr << "Error querying for Command:" << er.what() << endl;
}
return theMap;
}
### The Header File Snippets ###
I have included mysql++.h and using namespace mysqlpp here as well.
class Connection;
class DatabaseControl : public IDataPersist
{
private:
Connection *m_conDB;
static DatabaseControl *s_DBCinstance;
DatabaseControl();
public:
virtual ~DatabaseControl();
static DatabaseControl* Instance();
map<string, Command* > getCommands();
**SNIPPED**
----- Original Message -----
From: "Joel Fielder" <joel.fielder (AT) switchplane (DOT) com>
To: <plusplus (AT) lists (DOT) mysql.com>
Sent: Thursday, November 16, 2006 2:46 AM
Subject: RE: Compile Error/Code Issue
Quote:
I'm sure these are just c++ errors as opposed to anything mysql++
related - if so you should follow this up on a c++ list somewhere.
Error 1, exactly what it says on the tin, constructors can't return a
value of any type so just remove the "return -1;". Personally, I'd let
whatever instanciates DatabaseControl handle the exception (or at least
re-throw it), but otherwise making that change will correct the error.
I think error 2 is because "con" is a pointer, probably you need to use
con->query(). I think error 3 you're missing the header file for
mysqlpp::Connection.
Also, because you're shadowing the "con" member variable in the
constructor it is probably not allocated anywhere. Result: app will
probably crash when you call getCommands or DatabaseControl goes out of
scope Enjoy more, and turn on -Wshadow to have the compiler let you
know about it. Turn on -Wall for that matter 
Joel
--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe:
http://lists.mysql.com/plusplus?unsu...adow (DOT) net |
--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe: http://lists.mysql.com/plusplus?unsu...ie.nctu.edu.tw