witam serdecznie,
mam mały problem. Działami kilka przycisków, ale brakuje mi jednego "insert" z upload już sobie sama powinnam poradzić. Na podstawie rozwiązania problemu z dodawaniem danych do BD Oracle. Dane są pobrane z:
id jTextField3
country_name jTextField3
region jTextField3
nie wiem jak pobrać dane jTextField3
próbowałam w następujący sposób, ale nie powidło mi się :(
<font size="3"> /* -------</span>
- String sql = " INSERT INTO countries VALUES ('" + jTextField1+ "','" + jTextField2 + "','" +jTextField3 + "')";
- String sql = " INSERT INTO countries VALUES ('" + idx+ "','" + country_name + "','" +region + "')";
- utworzyłam, również klasę Dane, gdzie były metody getXXX i setXX chciałam pobrać je do
String sql = " INSERT INTO countries VALUES ('" + getId() + "','" + getCountry_name() + "','" +getRegion() + "')";
ale tu też był błąd
4) napisałam również procedurę PL/SQL:
set serveroutput on
CREATE OR REPLACE PROCEDURE dodajWiersz_countries(v_id countries.id%TYPE,v_country_name countries.country_name%TYPE,v_region countries.region%TYPE)
IS
BEGIN
INSERT INTO countries VALUES(v_id,v_country_name,v_region);
EXCEPTION
WHEN dup_val_on_index THEN
dbms_output.put_line('Zły ID');
END dodajWiersz_countries;
/
show err
Działa w Oraclu:
exec dodajWiersz_countries(8,'USA',17)
Próbowałam wiec , tak :
String sql = "execute dodajWiersz_countries(?,?,?)";
ale tez nie dodaje to rezultatu
<font size="3">------- */</span>
Ktoś z Was ma jakąś wskazówkę, jak mam pobrać dane z formularza? Kod mój przedstawia się następująco:
package panel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
public class Panel extends javax.swing.JFrame {
public Panel() {
initComponents();
}
private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText(null);
jTextField2.setText(null);
jTextField3.setText(null);
jTextArea1.requestFocus();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
int idx = Integer.parseInt(jTextField1.getText());
String country_name = jTextField2.getText();
int region = Integer.parseInt(jTextField3.getText());
String driver = "oracle.jdbc.driver.OracleDriver";
String serverName = "localhost";
String portNumber = "1521";
String sid = "XE";
String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
String pass = "ola";
String user = "ola";
String sql = " INSERT INTO countries VALUES ('" + idx + "','" + country_name + "','" + region + "')";
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(url, user, pass);
PreparedStatement cs = con.prepareStatement(sql);
cs.setInt(1, idx);
cs.setString(2, country_name);
cs.setInt(3, region);
cs.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
String driver = "oracle.jdbc.driver.OracleDriver";
String serverName = "localhost";
String portNumber = "1521";
String sid = "XE";
String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;
String pass = "kasia";
String user = "kasia";
String sql = "select * from countries";
try {
Class.forName(driver);
Connection con = DriverManager.getConnection(url, user, pass);
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
jTextArea1.setText(null);
while (rs.next()) {
jTextArea1.append(rs.getInt(1) + "\t" + rs.getString(2) + "\t" + rs.getInt(3) + "\n");
}
ps.close();
con.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
public static void main(String args[]) {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception e) {
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Panel().setVisible(true);
}
});
}
private javax.swing.JMenuItem aboutMenuItem;
private javax.swing.JMenuItem contentsMenuItem;
private javax.swing.JMenuItem copyMenuItem;
private javax.swing.JMenuItem cutMenuItem;
private javax.swing.JMenuItem deleteMenuItem;
private javax.swing.JMenu editMenu;
private javax.swing.JMenuItem exitMenuItem;
private javax.swing.JMenu fileMenu;
private javax.swing.JMenu helpMenu;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private java.awt.Label label1;
private java.awt.Label label2;
private java.awt.Label label3;
private javax.swing.JMenuBar menuBar;
private javax.swing.JMenuItem openMenuItem;
private javax.swing.JMenuItem pasteMenuItem;
private javax.swing.JMenuItem saveAsMenuItem;
private javax.swing.JMenuItem saveMenuItem;
}
Działają przyciski clear, exit, select tylko ten insert ...? Proszę uprzejmie o jakąś wskazówkę