使用Java在JSP页面中显示和更改oracle表
我想在JSP中的下拉菜单中显示oracle表列表,在选择一个特定的表之后,我想在该表上添加或删除字段使用Java在JSP页面中显示和更改oracle表,java,oracle,jsp,Java,Oracle,Jsp,我想在JSP中的下拉菜单中显示oracle表列表,在选择一个特定的表之后,我想在该表上添加或删除字段 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner; public class TableCreation {
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class TableCreation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please provide below details to connect Oracle Database");
System.out.println("Enter Database");
String dbName = scanner.next();
System.out.println("Enter UserName");
String userName = scanner.next();
System.out.println("Enter Password");
String password = scanner.next();
System.out.println("Enter Table Name");
String tablename = scanner.next();
System.out.println("Enter Field Name");
String columnname = scanner.next();
System.out.println("ADD Field Name");
String addcolumn = scanner.next();
Statement statement;
Connection connection = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (ClassNotFoundException e) {
}
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@172.17.23.25:1521:" + dbName, userName,
password);
}
catch (SQLException e) {
}
if (connection != null) {
System.out.println("Successfullly connected to Oracle DB");
try {
statement = connection.createStatement();
String tableCreateQuery = "create table " +tablename+"("+
columnname
+" varchar2(10))";
statement.executeUpdate(tableCreateQuery);
System.out.println("Table Created Successfully");
String query1 = "ALTER TABLE"+tablename+ "ADD" +
addcolumn
+ "varchar2(10) ";
statement.executeUpdate(query1);
}
catch (SQLException e) {
}
}
else {
System.out.println("Failed to connect to Oracle DB");
}
}
}
对于列表表,我使用这个查询
statement = connection.createStatement();
String tableListQuery = "select table_name from user_tables order by table_name";
ResultSet rs = statement.executeQuery(tableListQuery);
while (rs.next()) {
String tablename = rs.getString("table_name");
System.out.println(tablename);
}
@回应你最后的评论。在服务器端(在servlet或JSP中),填充包含所有表的列表
List<String> tables = new ArrayList<String>();
while (rs.next()) {
String tablename = rs.getString("table_name");
tables.add(tablename);
}
//add this list to a request object (either create a servlet or use your jsp)
request.setAttribute("tables", tables);
List tables=new ArrayList();
while(rs.next()){
String tablename=rs.getString(“table_name”);
tables.add(tablename);
}
//将此列表添加到请求对象(创建servlet或使用jsp)
setAttribute(“表格”,表格);
在JSP中,创建一个scriptlet
import="java.util.List"%>//this import is needed
<%
List<String> tables = (List<String>)request.getAttribute("tables");
//create dropdown
out.print("<select id=\"ddTables\">");
for(int i=0; i<tables.size();i++){
out.print("<option>tables.get(i)</option>);
}
out.print("</select>");
%>
import=“java.util.List”%>//需要进行此导入
您可以尝试使用select table\u name from all\u tables代替。如何使用上述查询在JSP组合框中显示oracle name中的所有表。