Qui sotto c'è una funzione che ho scriito in java per la modifica del nome delle colonne di una tabella di un database access:
Il problema è il seguente:
Quando lancio la funzione mi dice che la sintassi di ALTER TABLE è errata:
FUNZIONE
public void ModificaNomeColonna(String NomeTab,String NomeCol,String NuovoNome) throws Exception
{
String NomeTabella=NomeTab;
String NomeColonna=NomeCol;
String NuovoNomeColonna=NuovoNome;
String sql="ALTER TABLE "+NomeTabella+" RENAME COLUMN "+NomeColonna+" TO "+NuovoNomeColonna+"";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connessione = DriverManager.getConnection(data, "", "");
Statement stato=connessione.createStatement();
System.out.println(sql);
stato.executeUpdate("ALTER TABLE Tabella1 RENAME cognome TO Nomeo");
stato.close();
}catch (SQLException s) {
String Errore = "Errore... " + s.toString();
JOptionPane.showMessageDialog(null,Errore);
}catch (Exception e) {
System.out.println("Errore Generico in Rimozione Tabella");
}
Dal system.out.printl mi viene fuori che la stringa sql è la seguente:
ALTER TABLE miatabella RENAME nome TO nome1
Dove miatabella è il nome della tabella nella quale devo modificare il nome della colonna da nome a nome1.
Perchè la sintassi è sbagliata?
ho provato anche ALTER TABLE miatabella RENAME COLUMN nome TO nome1
Grazie