hy!
hab folgende funktion:
wie ihr seht habich auch schon mit mit dem
geschaut ob er überall hinkommt...das tut er auch! woran kann es liegen dass er nicht in d db schreibt? verwende zum probiern MS Access...treiber usw... installiert und die Klasse ConnectionController baut die Verbindung zur DB auf u schließt sie wieder (wenns sein muss)
vielleicht noch kurz zur Erklärung:
persons ist eine List
aufgerufen wird die funktion von einer action aus:
ich seh kein problem, da er überall hinkommt!
hier noch der ConnectionController der, wie schon erwähnt, die Verbindung öffnet u schließt:
ich hoffe dass mir jemand weiterhelfen kann!
tia!
ciao baer
hab folgende funktion:
Code:
public void add(Person p) {
PreparedStatement sqlInsert = null;
try {
sqlInsert = con.prepareStatement("INSERT INTO persons " +
"(name, wohnort) VALUES (?,?)");
sqlInsert.setString(1,p.getName());
System.out.println("name wurde gesetzt");
sqlInsert.setString(2, p.getWohnort());
System.out.println("wohnort wurde gesetzt");
System.out.println("ich bin vor ExecuteUpdate");
sqlInsert.executeUpdate();
System.out.println("ich bin nach ExecuteUpdate");
sqlInsert.close();
sqlInsert = null;
} catch (Exception e) {
System.err.println(e);
System.out.println("Daten wurden nicht eingetragen - add");
} finally {
if (sqlInsert != null) {
try { sqlInsert.close();
} catch (Exception i) {}
}
}
persons.add(p);
}
Code:
System.out.println...
vielleicht noch kurz zur Erklärung:
persons ist eine List
aufgerufen wird die funktion von einer action aus:
Code:
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
InputActionForm inputActionForm = (InputActionForm) actionForm;
String name = servletRequest.getParameter("name");
String wohnort = servletRequest.getParameter("wohnort");
Person p = new Person();
System.out.println("Person wurde erzeugt");
System.out.println(name);
System.out.println(wohnort);
PersonRepository pr = new PersonRepository();
try {
p.setName("name");
p.setWohnort("wohnort");
pr.add(p);
return actionMapping.findForward("index");
} catch (Exception e) {
System.err.println(e);
System.out.println("error in InputAction");
return actionMapping.findForward("input");
}
}
ich seh kein problem, da er überall hinkommt!
hier noch der ConnectionController der, wie schon erwähnt, die Verbindung öffnet u schließt:
Code:
public class ConnectionController {
private static java.sql.Connection con = null;
/**damit keiner eine Instanz dieser Klasse erzeugen kann! */
private ConnectionController() { }
/**
* Klassenmethode, welche die Connection öffnet */
public static Connection getConnection() {
String drive = "sun.jdbc.odbc.JdbcOdbcDriver";
String urldb = "jdbc:odbc:persons";
try {
if (con == null || con.isClosed()) {
Class.forName(drive);
con = DriverManager.getConnection(urldb);
}
} catch (Exception e) {
System.err.println(e);
System.out.println("Fehler in getConnection, ConnectionControler");
}
return con;
}
/**
* Klassenmethode, welche die Connection schliesst */
public static Connection closeConnection() {
try { con.close(); //return true;
} catch (Exception e) {
System.err.println(e);
System.out.println("Connection couldn't close");
// return false;
}
return con;
}
}
ich hoffe dass mir jemand weiterhelfen kann!
tia!
ciao baer