Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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 数据库创建_Java_Database_Netbeans - Fatal编程技术网

Java 数据库创建

Java 数据库创建,java,database,netbeans,Java,Database,Netbeans,我计划为我的应用程序创建一个数据库,该数据库自动从文本字段获取名称。(运行时文本字段不为null)。但我有语法错误。同一代码在同一项目的另一个java页面中运行。以下代码承担创建任务 public void FacltyNameTable(){ String fcltyName = fcltyUserNameTxt.getText(); try{ Class.forName("com.mysql.jdbc.Driver");

我计划为我的应用程序创建一个数据库,该数据库自动从文本字段获取名称。(运行时文本字段不为null)。但我有语法错误。同一代码在同一项目的另一个java页面中运行。以下代码承担创建任务

 public void FacltyNameTable(){

      String fcltyName = fcltyUserNameTxt.getText();

              try{

            Class.forName("com.mysql.jdbc.Driver");
            conn = (Connection) DriverManager.getConnection(DB_URL_table, USER, PASS);
            stmt = (Statement) conn.createStatement();

            String sql1 = "CREATE TABLE IF NOT EXISTS '"+fcltyName+"' " +
                    "(id INTEGER not NULL AUTO_INCREMENT, " +
                    " rollNo VARCHAR(255), " + 
                    " studentName VARCHAR(255), " + 
                    "CommunicationOral INTEGER, "+
                    "Communicationwritten INTEGER, "+
                    "Leadership INTEGER, "+
                    "AnalyticalAbilities INTEGER, "+
                    "Interpersonalskills INTEGER, "+
                    "DecisionMakingSkills INTEGER, "+
                    "SelfConfidence INTEGER, "+
                    "Creativity INTEGER, "+
                    "Punctualityregularity INTEGER, "+
                    "GeneralAwareness INTEGER, "+
                    "Commitment INTEGER, "+
                    "Hardwork INTEGER, "+

                    " PRIMARY KEY ( id ))"; 

            stmt.executeUpdate(sql1);


             String insert1="INSERT IGNORE INTO '"+fcltyName+"'(id,rollNo,studentName,CommunicationOral,Communicationwritten,Leadership,AnalyticalAbilities,Interpersonalskills,DecisionMakingSkills,SelfConfidence,Creativity,Punctualityregularity,GeneralAwareness,Commitment,HardWork)VALUES(1,'1','ABHIJITH V GEORGE ',0,0,0,0,0,0,0,0,0,0,0,0)";
            stmt.executeUpdate(insert1);

 }catch(SQLException se){
            //Handle errors for JDBC
            se.printStackTrace();
    }catch(Exception e){
    //Handle errors for Class.forName
    e.printStackTrace();
    }finally{
        //finally block used to close resources
  try{
     if(stmt!=null)
        conn.close();
  }catch(SQLException se){
  }// do nothing
  try{
     if(conn!=null)
        conn.close();
  }catch(SQLException se){
     se.printStackTrace();
  }//end finally try
 }//end try
 }
下面显示了错误

 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' (id INTEGER not NULL AUTO_INCREMENT,  rollNo VARCHAR(255),  studentName VARCH' at line 1

当我将'String sql1=“CREATE TABLE IF NOT EXISTS
“+fcltyName+”“+…
更改为
String sql1=“CREATE TABLE IF NOT EXISTS fcltyName”+…
时,它可以完美地工作。我想我的查询是正确的。我需要帮助,请我使用Connection conn=Drivermanager…等等 不要使用打字。还要始终使用准备好的语句。它整洁安全

一个小错误。 例如,必须使用id int(10)not null自动增量


必须给出int的大小。假设mysql

按以下方式更改此行是否有帮助?(删除单引号)


您的
fcltyUserNameTxt
可能是空的。您可以尝试登录:

String fcltyName = fcltyUserNameTxt.getText();
System.out.println(fcltyName); // ??

这是一个非常糟糕的想法,因为这里有太多的原因要详细说明!尝试缩小范围-尝试不使用java的SQL,如果有问题,请尝试一半的列,然后再尝试另一半,等等,您很快就会发现问题。@DeepuKrishna我将很快删除此答案,因为它没有任何用处
String fcltyName = fcltyUserNameTxt.getText();
System.out.println(fcltyName); // ??