Wie Sie Daten hinzufügen (Jtable Daten tatsächlich) in die Datenbank. Gibt es eine Möglichkeit zum einfügen eines Objekts in die Datenbank mit preparedstmt?
public cntctus()
{
Spaltennamen für JTable
String column[]= { "Name","Position","Phone"};
Zeilen für JTable
Object [][]row = {
{"Prof. Renu Vig", "Director", "+123456"},
{"Mr. Sukhbir singh", "Assistant Professor", "+9123568989"},
{"Ms. shaweta", "BI teacher","9468645"}
};
table = new JTable(row,column);
TableModel tm = table.getModel();
java.sql.Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/training","root","");
try{
java.sql.Statement stmt =con.createStatement();
String maketable = "CREATE TABLE if not exists contacttable(Name Varchar(25),Position Varchar(20),Phone Varchar(20))";
stmt.executeUpdate(maketable);
System.out.print("table created ");
//insert into table contacttable query
PreparedStatement pstmt=con.prepareStatement("INSERT into contacttable select distinct values(?,?,?)");
bekommen einige TableModel
, der die Daten enthält
for (int i = 0; i < tm.getRowCount(); i++) {
for (int j = 0; j < tm.getColumnCount(); j++) {
Object o = tm.getValueAt(i, j);
System.out.println("object from table is : " +o);
k=j+1;
pstmt.setString(k, (String)o);
}
pstmt.executeUpdate();
}
}
catch(SQLException s)
{
System.out.println(s);
}
}
catch(Exception e)
{
e.printStackTrace();
}
Möchte ich einfügen, das ganze Objekt in die Datenbank ein.kurz gesagt, wie jtable einfügen von Daten in die Datenbank.?? bitte helfen Sie.
Fehler: Sie haben einen Fehler in Ihrer sql-syntax in Zeile 1 ('"prof. renu vig, "Regie"...
InformationsquelleAutor puprog | 2014-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Veranstaltung, die Sie möchten, um mehrere Zeilen auf Ihre vorbereitete Anweisung, Sie könnte sich einfach nehmen, was Sie jetzt haben, und fügen einen Aufruf pstmt.addBatch() innerhalb der äußeren Schleife, und außerhalb der inneren Schleife (die Schlaufen, die Iteration über die JTable, Internet Explorer-add batch einmal pro Zeile). Dann, nachdem Sie iteriert über die ganze Tabelle, rufen Sie pstmt.executeBatch().
Ein Wort zu den weisen jedoch, wenn Sie bei der Generierung von Schlüsseln auf einfügen, muss der Fahrer auch die Unterstützung der Rückkehr mehrerer Tasten batch-inserts, oder Sie werden wahrscheinlich nur erhalten Sie den ersten Schlüssel erzeugt wieder anstelle von alle von Ihnen. Alternativ können Sie die Anweisung ausführen jeder iteration der äußeren Schleife (D.H. einmal pro Zeile), so dass Sie sicher zu nennen .clearParamters() nach jeder Ausführung. Sie wollen die Wiederverwendung der preparedStatement-aus performance-Gründen.
Ihre insert-Anweisung ist auch geschraubt. Seine nur gehen, um sein EINFÜGEN IN contacttable VALUES(?,?,?). Loswerden die select distinct-Zeug.
Wird es wohl so Aussehen, wenn es fertig ist:
Es ist wirklich schwer zu sehen, Ihre änderungen in einem Kommentar, wenn Sie konnte, legte Sie in den OP, das wäre toll.
perfekt!! Sie haben mir sehr geholfen. @Mark W, aber ich will aufhören, diese Daten wieder einzugeben und wieder in Datenbank. (deshalb habe ich SELECT DISTINCT.) aber select distinct-Abfrage funktioniert nicht. Irgendwelche Vorschläge zu stoppen Wiedereingliederung von JTable Daten in die Datenbank??
Ich hatte geschrieben ein paar Anregungen für das hier, aber beschlossen, Sie zu entfernen. Das Thema der Integrität der Daten und die Validierung ist ein zu umfassendes Thema für mich, nur ausspucken ein one size fits all Antwort. Lange Geschichte kurz, Sie sollten mit Integritätsbedingungen auf deine DB um sicherzustellen, dass keine Duplikate eingefügt bekommen DB-Seite, sowie die Durchführung der Validierung in Ihrem business-Logik der Anwendung eine Seite, so dass Sie tun können, was Sie fühlen, ist angemessen, um den Benutzer zu Benachrichtigen doppelter Datensätze.
ohk ohk. Ich habe es. Ich werde zu ändern, Datenbank-Einschränkungen jetzt. vielen Dank @ - Zeichen.
InformationsquelleAutor Mark W
Die Einzige änderung, die Sie haben zu tun mit dem Code, den ich.e
schickt Ihre tatsächliche JTable-Daten in Ihre Datenbank-Datei.
ich bin mir sicher. es wird funktionieren, Arbeit.
InformationsquelleAutor Akash Kumawat
ich habe ein Beispiel mit jpa-ich hoffe, dass es helfen Sie
try{
public void Ajouterobjet(Object o)
{
InformationsquelleAutor rihab rahouba