PDA

Visualizza la versione completa : [JAVA] Inserimento in una tabella Access


benevincy
02-11-2005, 11:22
Ciao a tutti,

la prima volta che utilizzo java con Database e quindi sto cercando di prendere un po di informazioni e ho trovato nel forum una classe che mi permette di creare una connessione con un database access e di prelevare i dati, ma a me serve di inserire dei dati, ho visto ke necessario utilizzare la funzione executeUpdate, ma mi da l'errore:
ava.sql.SQLException: [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
Riporto il dodice:


import java.io.*;
import java.lang.*;
import java.sql.*;
import java.util.*;
import java.text.*;
import java.net.URL;


public class Connessione {

public static String class_driver = "sun.jdbc.odbc.JdbcOdbcDriver";
public static String url_connect = "jdbc:odbc:";
public static Connection DBConnection;
public static ResultSetMetaData rsmd;
public static Statement SQLStatement;
public static ResultSet rsQuery;
public static String str;


/** Creates a new instance of Connessione */
public Connessione() {
} // Connessione


private void apriConnessione(String sorgente) {
try {
Class.forName(class_driver);
} catch (Exception e) { e.printStackTrace();}
try {
DBConnection = null;
DBConnection = DriverManager.getConnection(url_connect + sorgente);
SQLStatement = DBConnection.createStatement();
} catch (Exception ex) { ex.printStackTrace();}
} // apriConnessione

private int eseguiInsert(String q){
int rsIns=0;
try {
rsIns = SQLStatement.executeUpdate(q);
} catch (Exception ex) { ex.printStackTrace();}
return rsIns;
}

public static void main(String[] args) {
Connessione connessione = new Connessione();
connessione.apriConnessione("db_access");
int ris=connessione.eseguiInsert("INSERT INTO Tabella (codice,cott,data,ubicazione) values(primo,secondo,terzo,quarto) ");
}


La tabella nella quale devo inserire i dati si chima Tabella ed formata da 4 campi, il database db_access.

Grazie anticipato a chi mi vorr dare un suggerimento.
BUONA giornata!!!
:dh:

floyd
02-11-2005, 11:27
INSERT INTO Tabella (codice,cott,data,ubicazione)
VALUES('primo', 'secondo', 'terzo', 'quarto')
suppongo siano stringhe

benevincy
02-11-2005, 16:59
Scusa se ti rispondo solo adesso,
ho provato a modificare la stringa di INSERT come mi hai indicato e non mi da + errori ma la tabella non viene modificata.
CIAO :dh:

floyd
02-11-2005, 17:02
guarda se i campi codice,cott,data,ubicazione sono testo o numeri, data, altro

benevincy
02-11-2005, 17:48
I campi sono di tipo testo.
Ma FORSE necessario fare un'operazione di tipo COMMIT!!
:dh:

magnus
03-11-2005, 00:02
Anche io ebbi dei problemi simili con access e java...
Per non li affrontai perch passai subito a mysql ( che ovviamente questi problemi non me li diede ).

Non puoi usare MYSQL, access una scelta obbligata?

benevincy
03-11-2005, 20:40
comunque sono riuscito a risolvere il problema con l'istruzine SETAUTOCOMMIT.

CIAO e grazie!!!!

Loading