2014-10-30 4 views
0

Java 및 MySQL을 사용하여 간단한 데이터베이스 응용 프로그램을 만들었습니다. 나는 그들이 데이터베이스를 호출하기를 원하는 것을 지정하고 그것을 생성하도록 사용하고자한다. 다음 코드를 실행하면 SQL 구문 오류가 발생합니다.JDBC를 사용하여 mysql 데이터베이스 만들기

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { 
    try{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     connect.con = DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=pass"); 
     connect.st = connect.con.createStatement(); 

     String dbName = jTextField19.getText().trim(); 
     System.out.println(dbName); 

     String sql = "CREATE DATABASE'"+dbName+"'"; 
     int rs = connect.st.executeUpdate(sql); 
     System.out.println("Database Created"); 

    }catch(Exception e){ 

    } 
} 

무엇이 잘못 되었나요? 설명을 많이 부탁드립니다.

+0

은 SQL 주입에주의! –

+0

어떤 오류가 발생합니까? – Stefan

+0

Error : com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : SQL 구문에 오류가 있습니다. 귀하의 MySQL 서버 버전에 해당하는 설명서를 확인하여 올바른 구문이 1 행에있는 ''test ''근처에서 사용되도록하십시오. – BEE

답변

0
"CREATE DATABASE'"+dbName+"'"; 

은 (추가 공간주의)해야한다 :

"CREATE DATABASE "+dbName; 
+0

사이의 쿼리 공간이 누락되었습니다. 출력을 다음과 같이 지시 한 공간과 함께 실행하면 테스트 오류 : com.mysql. jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : SQL 구문에 오류가 있습니다. 귀하의 MySQL 서버 버전에 해당하는 설명서를 확인하여 올바른 구문을 찾으십시오. 1 행에서 "test"근처에서 사용하십시오. 쉼표를 둘러싼 테스트를 제거해야합니까? – BEE

+0

답변을 수정했습니다. – StuPointerException

+0

효과가있었습니다. 고맙습니다! – BEE

관련 문제