uloha z Javy

Programovacie jazyky, rady, poradňa...
yankee
Medium Star
Medium Star
Príspevky: 384
Registrovaný: 06 júl 2006, 1:13

Re: uloha z Javy

Príspevok od používateľa yankee »

tak myslim ze toto by mohla byt posledna otazka
metodu InsertToDatabase som dokoncil takto

Kód: Vybrať všetko

public void InsertToDatabase(VlozitelnyDoDatabazy i){
        StringBuilder SQLCommand = new StringBuilder();
        SQLCommand.append("INSERT INTO TABLE_");
        SQLCommand.append(i.getClass().getName());
        SQLCommand.append(" (");
        for (String s : i.AttNames().split("\n")){
            SQLCommand.append(s).append(",");
        }
        SQLCommand.deleteCharAt(SQLCommand.length()-1);
        SQLCommand.append(") VALUES (");
        
        for (String s : i.vypisAtributy().split("\n")){
            SQLCommand.append(s).append(",");
        }
        SQLCommand.append(")");
        
        String url = "jdbc:derby://localhost:1527/sample";
	    String user = "user";
	    String password = "user";
	    
	    try {
		    Class.forName("org.apache.derby.jdbc.ClientDriver");
		    
		    Connection connection = DriverManager.getConnection(url, user, password);
		    
		    String sql = "insert into TABLE_AUTO (ZNACKA, MODEL, FARBA) values ('BMW', 'M6', 'zlta')";
		    
		    Statement s = connection.createStatement();
		    s.executeUpdate(SQLCommand.toString());
		    	    
		    connection.close();
		    } catch(Exception ex){
		    	System.out.println(ex.toString());
		    }
    }
v main metode som vytvoril objekt audi a metodu InsertToDatabase som chcel volat takto

Kód: Vybrať všetko

InsertToDatabase(Auto audi);
ale oznacilo to ako chybu ..... tak ako mam tu metodu zavolat?

EDIT2: uz som zistil preco... hodnoty ktore sa mali vkladat do databazy neboli v uvodzovkach, tak som to upravil a uz to funguje, ale mam este jednu mini otazku....
triedy som mal povodne v package-i a prikaz SQLCommand.append(i.getClass().getName()); mi do SQLCommandu neulozil nazov triedy, ale nazov packagu, preco??? alebo ako potom ziskam nazov tiredy???

ale inak ked tiredy nemam v balickoch uz to komplet funguje, tak dakujem za tvoju pomoc a trpezlivost
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: uloha z Javy

Príspevok od používateľa javatar »

yankee napísal: v main metode som vytvoril objekt audi a metodu InsertToDatabase som chcel volat takto

Kód: Vybrať všetko

InsertToDatabase(Auto audi);
ale oznacilo to ako chybu ..... tak ako mam tu metodu zavolat?
bez toho auto - iba InsertToDatabase(audi);
yankee napísal: EDIT2: uz som zistil preco... hodnoty ktore sa mali vkladat do databazy neboli v uvodzovkach, tak som to upravil a uz to funguje, ale mam este jednu mini otazku....
triedy som mal povodne v package-i a prikaz SQLCommand.append(i.getClass().getName()); mi do SQLCommandu neulozil nazov triedy, ale nazov packagu, preco??? alebo ako potom ziskam nazov tiredy???
no tomu celkom nerozumiem -> podla tohto http://download.oracle.com/javase/1.5.0 ... Name%28%29 by si mal dostat nazov triedy -> nebol to nazov package bodka nazov triedy?
yankee napísal: tak dakujem za tvoju pomoc a trpezlivost
nz :)
yankee
Medium Star
Medium Star
Príspevky: 384
Registrovaný: 06 júl 2006, 1:13

Re: uloha z Javy

Príspevok od používateľa yankee »

hej bol to nazovPackage.nazovClass pred tym ako som pisal ten post som si to nevsimol

//autoeditácia príspevku (02 Jan 2011, 18:52)
potreboval by som pomoc s tymto prikazom, ako som uz pisal ten prikaz mi vracia nazov package . nazov triedy, ale potrebujem len nazov triedy robim teraz uz zlozitejsi projekt a nechcem kvoli tomu rusit vsetky baliky potrebujem mat v tom aj trochu prehlad

SQLCommand.append(i.getClass().getName());

takze da sa nejako ziskat cisto nazov triedy???

//autoeditácia príspevku (02 Jan 2011, 19:23)
na nete som nasiel takuto metodu takze v jave asi ziadna specielna na to nie je

Kód: Vybrať všetko

public static String getClassName(Class c) {
		
		String FQClassName = c.getName();
		int firstChar;
		firstChar = FQClassName.lastIndexOf('.') + 1;
		if (firstChar > 0) {
			FQClassName = FQClassName.substring(firstChar);
		}
		return FQClassName;

	}
Napísať odpoveď