Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java在JSP页面中显示和更改oracle表_Java_Oracle_Jsp - Fatal编程技术网

使用Java在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 {

我想在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 {                                                     

 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中的所有表。