|
From: Rodrigo D. <ro...@vr...> - 2000-09-06 17:15:18
|
Igor Stojanovski wrote:
> Me and Rodrigo have been discussing whether the classes posted on the CVS
> under server/dbfront/ are OK. Rodrigo suggests that we should use mysql++
> instead of Connection.*, Result.* and Row.*.
>
> Rodrigo wrote:
>
> First of all, I really really really really think you should
> consider
> using mysql++ when using C++...it already has all the stuff you're redoing
> here...if you want an additional abstraction layer, you can re-write your
> code
> to use MySQL++, although I don't think that would be necessary...
> [ozra] Since we would use MySQL only at the beginning and then very likely
> move to a different database, those classes would serve as an abstraction to
> any DB we might switch to in the future. With these classes it would be
> very easy to do. Plus, we can closely control how much extra overhead
> classes cause on the program.
>
> about your
> program, it's missing a semicolon at the end of the query string...it was
> also
> missing an include for stdio.h in Row.h....oh and, eeeewwww your makefile
> looks
> ugly...also, what the heck is %p in a printf?? I changed it to %s...still
> SEGFAULTs though...
> [ozra] %p is for printing pointer value in hex. Sorry I put all that
> extranious crap in there -- it was all there for testing purposes. I fixed
> the problem. The reason it crashed was because I wasn't using the classes
> correctly. Now it's querying and getting results correctly. Go and look at
> those files again.
Ohhh okay...
> but really, try to restructure your program to use MySQL++,
> 'cause that way you're using something that we KNOW works...
> [ozra] These classes are taken out of a MySQL book. They should work well
> in real life, and they use a handful of MySQL C API functions within, which
> makes it easy to check if they work well or not. They will make the
> conversion into a different database seemless (or almost).
>
> Also, you're mixing C and C++ too much, that gets confusing...like,
> use
> cout << "text" << endl; instead of printf("text\n");, it's more clear...
> [ozra] I don't personally mind mixing them.
>
> I'm
> sending you a little MySQL++ program that I made so that you can take a look
> at
> all these points and see how it should be done...it's not really structured
> into classes but it uses C++ classes from MySQL and other standard
> C++ classes...
> [ozra] You are mixing C with C++ concepts too :) Adding cin's and cout's
> does not make code pure C++.
I know =c) But that's impossible to avoid since many C functions are
not rewritten as C++ classes...such as lstat() which I use in the program
I sent...
> But anyway. I am not saying your are not right about using mysql++. Look
> at my points and tell me if I am still wrong by using these classes.
You're not *wrong*, it's just that we can save a lot of time by using a
library which is done, working and mantained by someone rather than writing one
that is almost like it(mysql++ has Connection, Row, Query, and many other
classes too) by ourselves...
> Cheers,
Max
|