テキストフィールドから名前を自動的に取得するアプリケーション用のデータベースを作成する計画があります(実行時にテキストフィールドが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 " +.......
完全に機能するように変更すると、クエリが間違っていると思います。助けが必要です