hej jag håller på med ett litet program här som tar in data från en access databas och lägger in den i jtable...sen i jtable skall man kunna ändra på data eller lägga till eller radera rader Varför har du en ; i slutet på insert-satsen? Har du testat att ta bort den? har testat med det mesta o till och med det hehe...satserna slutar jo så när man bygger databas så jag tänkte va extra försiktig...men det funkar lika illa med eller utan har också märkt att den når till databasen genom att stoppa in columns i satsen...då fick jag fram siffror i varje column Hej,från jtable till access
jag försökte med både update och insert men hela tiden får jag massa konstiga meddelande om att det inte är tillräckligt med parametrar och en parameter (eller 2 och 3 osv.....beroende på hur många kolumner det är) saknas...eller så säger den bara att resultset produserades inte
skulle va tacksam om ni kunde hjälpa till mig lite här
här är koden
public void tableChanged(TableModelEvent e) {
//if(e.getSource() == tabel){
try{
int row = e.getFirstRow();
int column = e.getColumn();
TableModel model = (TableModel)e.getSource();
String columnName = model.getColumnName(column);
Object data = model.getValueAt(row, column);
String url = "jdbc:odbc:MS Access-databas;DBQ=" + "db1.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url);
Statement stmt2 = con.createStatement();
stmt2.executeQuery("INSERT INTO Person3 values"+"("+"'"+data+"'"+")"+";");
}
catch (ClassNotFoundException cnfe){
System.err.println("nåt gick fel");
}
catch (SQLException sqe){
System.err.println(sqe.getMessage());
}
//}
}
och här kommer den som laddar in också ifall ifall
try{
String url = "jdbc:odbc:MS Access-databas;DBQ=" + "db1.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
ResultSet rec = stmt.executeQuery("SELECT * FROM Person3");
ResultSetMetaData md = rec.getMetaData();
int columns = md.getColumnCount();
columnnames=new Vector();
data=new Vector();
for(int i = 1; i <= columns; i++){
columnnames.addElement(md.getColumnName(i));
}
while(rec.next()){
Vector row = new Vector(columns);
for(int i = 1; i <= columns; i++){
row.addElement(rec.getObject(i));
}
data.addElement(row);
}
rec.close();
stmt.close();
}
jag vet inte ricktigt var jag skulle lägga in den så jag lägger in denna inlägg på både java o databaser för säckerhets skull =)Sv: från jtable till access
/JohanSv:från jtable till access
Sv: från jtable till access
ungefär såhär
0
1
2
0
1
2
osv
så den har kontakt...Sv: från jtable till access
Kan det vara så enkelt att det är ett stavfel? I första if-satsen står det "//if(e.getSource() == tabel)", ska det inte vara "== table)" i stället?
Må väl!
:-)
Håkan