3 messages in com.mysql.lists.plusplusRe: query.execute not working| From | Sent On | Attachments |
|---|---|---|
| Chuck Haines | 24 Jan 2006 12:04 | |
| Warren Young | 24 Jan 2006 21:50 | |
| Chuck Haines | 25 Jan 2006 03:32 |
| Subject: | Re: query.execute not working![]() |
|---|---|
| From: | Chuck Haines (chai...@gmail.com) |
| Date: | 01/25/2006 03:32:19 AM |
| List: | com.mysql.lists.plusplus |
I had a brain cramp yesterday. I have since figured everything out. I haven't had to program in C++ for about 6 years and have been thrown into this project. Also, I can't use SSQL because I'm compiling on QNX and it doesn't work. So I've got to do it the old fashion way. Also, I've figure out my other email as well.
On 1/25/06, Warren Young <mysq...@etr-usa.com> wrote:
Chuck Haines wrote:
query = conn.query(); ttime = time( NULL ); sprintf( dTime, "%d000", ttime ); sql = "insert into Survey values ('"; sql += dTime; sql += "', '"; sql += dTime; sql += "', 'Information', 'Information')"; query << sql;
*Dude*.... Please read a book that covers C++ idioms. This looks like it's trying to be Perl or BASIC. I'm not trying to pick on you. It's just that if you write C++ as though it were some other language, it will not work very well. Rewriting it into proper C++:
query = conn.query(); snprintf( dTime, sizeof(dTime), "%d000", time(0) ); query << "insert into Survey values (" << mysqlpp::quote << dTime << ", " << mysqlpp::quote << dTime << ", 'Information', 'Information')"; query.execute();
Notice that I changed your sprintf() to snprintf(). sprintf() should not be used any more; it is a prime candidate for buffer overflow errors. snprintf() is new in C99, and most compilers offer something like it, if not exactly like it. (Microsoft prefers _snprintf(), for instance.) My rewrite assumes that dTime is an array, and not a pointer to dynamically-allocated memory.
Also, I think you could profit from looking into MySQL++'s SSQLS feature. It reduces the drudgery in the code above.
cout << "Error: " << query.error() << endl;
Unless I'm missing something, this won't ever give you anything useful. Any true errors will be signaled with exceptions, totally bypassing this code.
-- MySQL++ Mailing List For list archives: http://lists.mysql.com/plusplus To unsubscribe: http://lists.mysql.com/plusplus?unsub=chai...@gmail.com
-- Chuck Haines chai...@gmail.com http://www.maxslack.com
------------------------------------------- Tau Kappa Epsilon Fraternity Fraternity For Life Alumni
------------------------------------------- AIM: CyberGrex YIM: CyberGrex_27 ICQ: 3707881
------------------------------------------- GPG Fingerprint: 303A AB50 4EA9 70ED 2E30 2368 C9CD CCB5 4BD7 0989 GPG Key: http://www.maxslack.com/gpgkey.txt




