public void create(String name) {
create_name = name;
try {
getConnection();
q = "create table ? (emp_id number (10), emp_name varchar (15))";
pst = con.prepareStatement(q);
pst.setString(1, create_name);
int j = pst.executeUpdate();
JOptionPane.showMessageDialog(new JDialog(), "Table is Created");
} catch (Exception e) {
JOptionPane.showMessageDialog(new JDialog(), "Table is not Created");
}
}
-2
A
Antwort
1
Zum Erstellen einer Tabelle mit PrepapredStatement
dies nicht möglich ist, zu schaffen, denn wenn man
q= "create table ? (emp_id number (10), emp_name varchar (15))";
So in Wirklichkeit machen es diese Abfrage hier ausführen:
create table 'table_name' (emp_id number (10), emp_name varchar (15))
und die 'table_name'
ist verboten, wenn Sie eine Tabelle erstellen, so dass ich stattdessen vorschlagen, mit Ihrem PrepapredStatement
wie folgt zu spielen:
try {
Class.forName(driver);
Connection connection = DriverManager.getConnection(DB_URL, DB_username, DB_password);
PreparedStatement preparedStatement = connection.prepareStatement("create table ? (emp_id number (10), emp_name varchar (15))");
preparedStatement.setString(1, "table_name");
System.out.println(preparedStatement.toString());
Statement st = connection.createStatement();
int i = st.executeUpdate(preparedStatement.toString().replaceAll("\"", "\""));
JOptionPane.showMessageDialog(new JDialog(), "Table is Created");
} catch (ClassNotFoundException | SQLException e) {
JOptionPane.showMessageDialog(new JDialog(), "Table is not Created");
}
Die Idee ist einfach, wenn Sie Ihr Statement vorbereiten Sie die vorherige Abfrage erhalten Sie es wie diese preparedStatement.toString()
bekommen können, so können Sie die ''
im Start ändern und am Ende mit ""
weil "
in Oracle erlaubt ist create a table with a name which contain spaces.
Verwandte Themen
- 1. wie Paginieren Daten aus databse geholt
- 2. cakephp mit Formulardaten in databse einreichen
- 3. Formatierung Feld in Dao Databse - Access VBA
- 4. Der Versuch, einfache wordpress benutzerdefinierte Seite PHP einfügen zu arbeiten
- 5. Wie databse Feld prüfen durch AJAX
- 6. retrive Daten aus Mysql databse PHP MVC
- 7. wie databse Abfrage Feuer in Laravel 5.2
- 8. eine databse via ftp Senden - Getting eine andere Datei
- 9. Insert-Abfrage für mysql databse für Datumsdatentyp in cherrypy
- 10. Kann nicht von Login mysql databse mit Terminal
- 11. Php-Code aus mehreren Tabellen in databse suchen
- 12. Der Versuch, asynchrone Aufrufe
- 13. Der Versuch, uns ComputeManagementClient
- 14. Laravel - Der Versuch, Auth
- 15. Der Versuch, zwei Arrays
- 16. Der Versuch, Schienen Server
- 17. Der Versuch, ohne
- 18. Der Versuch, zwei Cookies
- 19. Der Versuch, eine IList
- 20. Der Versuch, dynamisch
- 21. Der Versuch, Funktionsprototypen
- 22. Der Versuch, eine regexp
- 23. Der Versuch, über ipc
- 24. Coredata: Der Versuch,
- 25. Android Studio SQLiteOpenHelper "DATABSE hat keine Spalte namens NAME"
- 26. Fehler beim Verbinden mit databse AnnotationConfiguration mit (Hibernate)
- 27. # 3503 Fehler beim Versuch, benutzerdefinierte Aktion über JSSDK zu veröffentlichen
- 28. Benutzerdefinierte HTML5-Formularüberprüfungsfehler treten erst nach dem ersten Versuch auf
- 29. Null-Zeiger-Ausnahme beim Versuch, benutzerdefinierte Marker in GMaps
- 30. Versuch, "ausgewählt" in UICollectionViewCell Swift für benutzerdefinierte Auswahlstatus
haben Sie einen Fehler bekommen, hat Ihre Tabelle erstellt, was ist Ihre Frage genau? –
Sie können Objektbezeichner wie Tabellennamen nicht parametrisieren –