newbie frage zu MySQL



  • hallo,
    Zuerst mal: ich bin mir nicht sicher ob die frage hierhin gehört... 🙄

    Ich teste gerade das Tutorial auf
    http://www.mysql.de/documentation/mysql++/4_Tutorial.html

    ich habe den code auf meine db angepasst, sieht jetzt so aus:

    #include <iostream>
    #include <iomanip>
    #include <mysql++>
    
    int main() {
      // The full format for the Connection constructor is
      // Connection(cchar *db, cchar *host="", 
      //            cchar *user="", cchar *passwd="") 
      // You may need to specify some of them if the database is not on
      // the local machine or you database username is not the same as your
      // login name, etc..
      try {
    
    		Connection("test","localhost","root",""); 
    
    		Connection con("test5");
    		Query query = con.query();
    		// This creates a query object that is bound to con.
    
    		query << "select * from stock";
    		// You can write to the query object like you would any other ostrem
    
    		Result res = query.store();
    		// Query::store() executes the query and returns the results
    
    		cout << "Query: " << query.preview() << endl;
    		// Query::preview() simply returns a string with the current query
    		// string in it.
    
    		cout << "Records Found: " << res.size() << endl << endl;
    
    		Row row;
    		cout.setf(ios::left);
    		cout << setw(17) << "Item" 
    			<< setw(4)  << "Num"
    			<< setw(7)  << "Weight"
    			<< setw(7)  << "Price" 
    			<< "Date" << endl
    			<< endl;
    
    		Result::iterator i;
    		// The Result class has a read-only Random Access Iterator
    		for (i = res.begin(); i != res.end(); i++) {
    			row = *i;
    			cout << setw(17) << row[0] 
    				<< setw(4)  << row[1] 
    				<< setw(7)  << row["weight"]
    				// you can use either the index number or column name when
    				// retrieving the colume data as demonstrated above.
    				<< setw(7)  << row[3]
    				<< row[4] << endl;
    		}
      } catch (BadQuery er){ // handle any connection 
                             // or query errors that may come up
        cerr << "Error: " << er.error <<  endl;
        return -1;
    
      } catch (BadConversion er) {
        // we still need to cache bad conversions incase something goes 
        // wrong when the data is converted into stock
        cerr << "Error: Tried to convert \"" << er.data << "\" to a \""
    	 << er.type_name << "\"." << endl;
        return -1;
      }
    	return 0;
    }
    

    Ich versuche also ne verbindung zu meiner mysql db aufzubauen, bin aber irgendwie zu blöd...

    Ausgabe der Dos shell:
    Error: Unknown Database 'test5'

    Übergebe ich die Parameter falsch?
    😞

    Meine Daten:

    User: root
    Passwort: "" (keines)
    Datenbank: test
    Table: test5

    Danke!

    _Rainer__



  • Hi

    Rainer_ schrieb:

    ich bin mir nicht sicher ob die frage hierhin gehört...

    Gehört nicht hier rein 😉 , aber egal

    [quote="_Rainer__"]Ausgabe der Dos shell:
    Error: Unknown Database 'test5'
    Du wiedersprichst dir doch selber.

    Rainer_ schrieb:

    Datenbank: test
    Table: test5

    Du hast doch die Datenbank "test" und versuchst laut Fehlermeldung auf die Datenbank "test5" zuzugreifen 😉

    Grüße Rapha



  • Hmm ja ich weiss....ich habs auch schon andersrum ausprobiert

    Aber wenn es so mache

    Connection con("test");
    

    Gibt die Shell folgendes aus:
    Error: Table 'test.stock' doesn't exist

    Also muss man als Parameter doch die Table angeben 😕



  • Neeeee, guck mal die Zeile an:

    query << "select * from stock";
    

    Der kennt die Tabelle stock nicht. Da musst du weitersuchen!

    🙂



  • Ahhhhh 🙂

    thx!
    so was dummes... hätte ichs von hand abgetippt wär sowas net passiert 😉


Anmelden zum Antworten