Portál AbcLinuxu, 22. února 2026 10:09
import java.sql.*;
public class InsertRows {
public static void main(String args[]) {
String url = "jdbc:mySubprotocol:myDataSource";
Connection con;
Statement stmt;
try {
Class.forName("myDriver.ClassName");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url, "myLogin", "myPassword");
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet uprs = stmt.executeQuery("SELECT * FROM COFFEES");
uprs.moveToInsertRow();
uprs.updateString("COF_NAME", "Kona");
uprs.updateInt("SUP_ID", 150);
uprs.updateFloat("PRICE", 10.99f);
uprs.updateInt("SALES", 0);
uprs.updateInt("TOTAL", 0);
uprs.insertRow();
uprs.updateString("COF_NAME", "Kona_Decaf");
uprs.updateInt("SUP_ID", 150);
uprs.updateFloat("PRICE", 11.99f);
uprs.updateInt("SALES", 0);
uprs.updateInt("TOTAL", 0);
uprs.insertRow();
uprs.beforeFirst();
System.out.println("Table COFFEES after insertion:");
while (uprs.next()) {
String name = uprs.getString("COF_NAME");
int id = uprs.getInt("SUP_ID");
float price = uprs.getFloat("PRICE");
int sales = uprs.getInt("SALES");
int total = uprs.getInt("TOTAL");
System.out.print(name + " " + id + " " + price);
System.out.println(" " + sales + " " + total);
}
uprs.close();
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}
To co jste mi sem vlozit uz jsem videl. Ale diky za to. Me slo spise o neco jineho. Kdyz to vezmu na zaklade tohoto, tak tam jsou data jasne dana. Ale jak udelat to, abych ty data mohl zadat po spusteni programu?
Proste aby se me to zeptalo na ty data. A jeste k tomu aby to bylo z jine class, jako passing argument.
Uz jsem trosku na neco prisel, takze budu zkouset dal. Ale jinak diky.
Jo jeste bych chtel dodat, ze mam uz reseni, ale chtel bych to vypilovat, aby to bylo spravne reseni a dynamicke. Proste nechapu, jak udelat class Authors, pak class ktera komunikuje z databazi, a pak class ktera vezme input a to vse propojit. O to mi jde a nemuzu nikde najit priklad. Vsude jsou prave priklady takovehle na kterych se nic nepostavi. To same mam v me ucebnici.
Ale jeste jednou diky.
Ovsem z popisu mam pocit, nejste.
Takze nejdrive je treba ujasnit si zakladni pojmy. Co je to za aplikaci a jaky ma ucel. Nejaka trida Authors, jina trida co komunikuje s databazi atd. jsou naprosto irelevantni. Ve skodovce take nezacinaji tim, ze u noveho modelu vyberou typ brzd a laku.
Jaka je to tedy aplikace? GUI, web nebo CLI? Kdyz mi reknes GUI, odkazu te na Swing, kde je prikladu vice nez dost. Pokud web, pak nejspise na struts ci nektery framework z jakarty. Opet prikladu je vice nez dost, i realnych. A pokud CLI, pak neni co resit, proste naparsujes parametry metody main a zavolas business logiku.
Pokud jde o tridu komunikujici s databazi, pak tutorialu na JDBC je vice nez dost. Mozna lepsim resenim by byla nejaka ORM (Object Relational Mapping) knihovna, napriklad hibernate, ktera te odstini od low level databazoveho programovani.
Kazdopadne doporucuji pohledat na internetu neco o MVC, model-view-controller. Authors je totiz zjevne Model, databazova vrstva je soucasti controlleru. A View je to, co vezme vstup od uzivatele.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.