PDA

Visualizza la versione completa : [JAVA] Problema nel rinominare colonne


cryptofer
04-02-2004, 21:44
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

userfra
05-02-2004, 09:57
Originariamente inviato da cryptofer
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
Ciao

al sintassi corretta questa:

ALTER TABLE<Tabella>
[ADD <Nome_colonna>, <Tipo_Colonna>, [Vincoli colonna]]
[DROP <Nome_Colonna>(RESTRICT/CASCADE)]
;)

cryptofer
06-02-2004, 02:38
Si ma con quella sintassi io posso solo creare ed eliminare colonne oppure mi sbaglio?
potresti perfavore farmi un esempio?
grazie.

Loading