03. april 2005 - 10:29
Der er
5 kommentarer og 1 løsning
Database forbindelse
Hej eksperter Jeg har brug for en lille guide til hvordan jeg bedst muligt, kalder en database forbindelse fra en klasse, eks. "Database" til en klasse "Funktion" sådan så metoderne i "Funktion" kan lave et recordset og behandle dette som det nu skal?
Annonceindlæg fra Infor
03. april 2005 - 10:44
#1
Database laver vel en instans af Funktion og kalder metoderne i denne !?!?
03. april 2005 - 10:44
#2
Men du får lige et eksempel som måske kan give dig lidt ideer: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.sql.*; public class SimpleDBGUI2 extends JFrame implements ActionListener { private JButton find; private JTextField crit; private JTextArea res; private DBHandler db; public SimpleDBGUI2() { getContentPane().setLayout(new BorderLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(400, 400); crit = new JTextField(); getContentPane().add(crit, BorderLayout.NORTH); res = new JTextArea(); getContentPane().add(res, BorderLayout.CENTER); find = new JButton("Søg"); find.addActionListener(this); getContentPane().add(find, BorderLayout.SOUTH); db = new DBHandler("TestMSAccess", "Admin", ""); } public void actionPerformed(ActionEvent evt) { res.setText(""); ArrayList lst = db.getAll(crit.getText()); for(int i = 0; i < lst.size(); i++) { res.setText(res.getText() + lst.get(i) + "\r\n"); } } public static void main(String[] args) { SimpleDBGUI2 f = new SimpleDBGUI2(); f.show(); } } class DBHandler { private Connection con; private Statement stmt; public DBHandler(String dsn, String usr, String pwd) { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:" + dsn, usr, pwd); stmt = con.createStatement(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public ArrayList getAll(String crit) { ArrayList res = new ArrayList(); try { ResultSet rs = stmt.executeQuery("SELECT * FROM t1 WHERE f2 LIKE '" + crit + "'"); while (rs.next()) { res.add(new Record(rs.getInt(1), rs.getString(2))); } rs.close(); } catch (SQLException e) { e.printStackTrace(); } return res; } } class Record { private int f1; private String f2; public Record() { f1 = 0; f2 = ""; } public Record(int f1, String f2) { this.f1 = f1; this.f2 = f2; } public int getF1() { return f1; } public String getF2() { return f2; } public void setF1(int f1) { this.f1 = f1; } public void setF2(String f2) { this.f2 = f2; } public String toString() { return (f1 + " " + f2); } }
03. april 2005 - 16:33
#3
Tror jeg har fattet det nu, og fået det til at virke. Smid et svar
03. april 2005 - 16:44
#4
kommer her
26. april 2005 - 00:27
#5
så mangler du bare at acceptere
Uuuups, sorry, har ikke været så aktiv på E siden det spørgsmål, så har helt glemt alt om det...
Kurser inden for grundlæggende programmering