Mailinglisten-Archive |
hallo! > Mit C++ hat Dein Problem weniger zu tun, Du mußt dir einfach mal die > Konventionen für mySQL-Queries reinziehen. Welche Feldtypen > numerisch bedient werden, welche character bedient werden und so. habe ich leider nicht ganz verstanden ;-) über das makro: sql_create_5( stock, 1, 5, string, item, int, num, double, weight, double, price, Date, sdate) lege ich doch ganz klar die richtigen "konventionen" fest, oder? und wenn ich nun über row.set("Pommes", 111, 0.5, 1.99, "2001-11-20"); den neuen datensatz erzeugen ist es doch nun nicht mehr in meiner hand. ich kann natürlich auch den datensatz mit: row.set("'Pommes'", 111, 0.5, 1.99, "'2001-11-20'"); erzeugen. hier kann ich ja auch das "problem" umgehen, nur bei einem update mit: ... stock row2 = row; row.item = "Hotdog Buns"; // now change item query.update(row2, row); ... (beispiel 4.5.3 Modifying Data ) wird intern dann der inkorrekte sql-befehl (strings und datum ohne "'") zusammen gestellt. :-) wer kennt das problem und weiss abhilfe? danke jörg > > ciao! > Kai > > > hai norbert :-) > > > > > > bis zum auslesen von tabellen und informationen bin ich > gekommen, > > > > aber ändern, hinzufügen da fehlt mir leider noch etwas ... > > > keine Ahnung wie Du was machst... > > > > ein konkretes beispiel ist ja das "adding data" aus 4.5.2: > > das habe ich komplett in vc++ übernommen und auch kompelieren > > können: > > ///////////////////////////////////////////////////////////////// > > #include <iostream> > > #include <vector> > > #include <sqlplus.hh> > > #include <custom.hh> > > #include "util.hh" > > > > sql_create_5( stock, 1, 5, > > string, item, > > int, num, > > double, weight, > > double, price, > > Date, sdate) > > > > int main() > > > > try > > { > > Connection con(use_exceptions); > > con.connect("mysql_cpp_data"); > > Query query = con.query(); > > > > // create an empty stock object > > stock row; > > > > // eintrag setzen > > row.set("Pommes", 111, 0.5, 1.99, "2001-11-20"); > > > > // form the query to insert the row > > query.insert(row); > > > > // the table name is the name of the struct by default > > // show the query about to be executed > > cout << "Query : " << query.preview() << endl; > > // execute a query that does not return a result set > > query.execute(); > > > > print_stock_table(query); > > // now print the new table; > > > > } > > > > catch (BadQuery er) > > > > cerr << "Error: " << er.error << endl; > > return -1; > > } > > > > catch (BadConversion er) > > > > cerr << "Error: Tried to convert \"" << er.data > << "\" to a \"" > > << er.type_name << "\"." << endl; > > return -1; > > } > > } > > ///////////////////////////////////////////////////////////////// > > > > mit folgendem ergebnis: > > > > Query : INSERT INTO stock (item,num,weight,price,sdate) > VALUES (Pommes,111 > > .99,2001-11-20) > > Error: Unknown column 'Pommes' in 'field list' > > > > ok nun habe ich das set entsprechen abgeändert: > > ... > > row.set("'Pommes'", 111, 0.5, 1.99, "'2001-11-20'"); > > ... > > > > mit dem ergebnis: > > > > Query : INSERT INTO stock (item,num,weight,price,sdate) VALUES > > ('Pommes',111,0.5 > > ,1.99,0000-01-11) > > Query: > > Records Found: 5 > > > > Item Num Weight Price Date > > > > Hamburger Buns 56 1.25 1.1 1998-04-26 > > Hotdogs' Buns 65 1.1 1.1 1998-04-23 > > Dinner Roles 75 0.95 0.97 1998-05-25 > > White Bread 87 1.5 1.75 1998-09-04 > > Pommes 111 0.5 1.99 0000-00-00 > > > > wunderbar - bis auf das datum! > > > > wenn ich nun das makro ändere: > > > > sql_create_5( stock, 1, 5, > > string, item, > > int, num, > > double, weight, > > double, price, > > string, sdate) // auf string > geändert !!! > > > > klappt es! > > > > Query : INSERT INTO stock (item,num,weight,price,sdate) VALUES > > ('Pommes',111,0.5 > > ,1.99,'2001-11-11') > > Query: > > Records Found: 5 > > > > Item Num Weight Price Date > > > > Hamburger Buns 56 1.25 1.1 1998-04-26 > > Hotdogs' Buns 65 1.1 1.1 1998-04-23 > > Dinner Roles 75 0.95 0.97 1998-05-25 > > White Bread 87 1.5 1.75 1998-09-04 > > Pommes 111 0.5 1.99 2001-11-11 > > > > klasse! > > > > aber wie gesagt, das kostet alles wahnsinnig viel zeit ... > > und ich möchte nicht wissen was da noch so alles kommt ... > > > > deshalb noch mal eine bitte an alle: > > > > > > WER HAT BEISPIELE FÜR VC++ 6.0!!!!! :-))))))))))) > > > > > > > Wenn bei mir der Connect klappt, und ich ein > SQL-Statement absetzen > > > kann und darauf eine verwertbare Antwort bekomme, bin ich > happy und > > > zufrieden. Mehr muss IMHO nicht sein, bei einem SQL-RDBMS... > > > > jau, das mit den sql kommandos klappt ja auch wunderbar :-) > > (nur für grosse applikation auf dauer doch sehr mühsam ;-)) > > > > bis dahin erstmal vielen dank! > > > > gruss jörg --- !!NEU!! Fragen und Antworten zu MySQL und dieser Liste unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive