2013-01-20 3 views
1

등록 양식을 만들었지 만 데이터베이스에 삽입 할 때 오류가 발생합니다. 나는 아파치 폴더의 bin 폴더에 이름 dbit와 데이터베이스 파일이SQLexception 등록 양식 서블릿

 try { 
       Class.forName("org.sqlite.JDBC"); 
       connection = DriverManager.getConnection("jdbc:sqlite:C:/apache-tomcat-7.0.33/bin/dbit.db"); 
       insertDB = "INSERT INTO users VALUES('" + username + "', '" + password + "');"; 

       Statement st = connection.createStatement(); 
       st.executeUpdate(insertDB);    
      } catch(ClassNotFoundException e){ 
       System.out.println("ClassNotFoundException"); 

      } catch (SQLException e){ 
       System.out.println("SQLException"); 
       e.printStackTrace(); 
      } 

: 나는 다음과 같은 코드를 만들었습니다. 이 데이터베이스 파일은 Sqliteman-1.2.2로 생성되며 두 개의 파일 (dbit 파일은 3kb, dbit.db는 0kb)이 있습니다.

데이터베이스에 사용자 이름과 암호를 삽입하고 싶지만 SQLException이 발생합니다. stacktrace에서 : SQLExcepton : 그런 테이블이 없습니다 : users. 그러나 그 테이블은 데이터베이스에 존재합니다.

나는 해결책을 발견
+0

users 테이블이 어떻게 존재한다고 확신합니까? – JamesB

+0

테이블에서 SQLiteman 데이터베이스를 다시 열면 사용자 테이블에 열 등이 표시됩니다. – ronaldm

+0

SQLiteman을 사용하여 어떤 사용자를 연결 하시겠습니까? 응용 프로그램에서 사용하는 것과 다른 것입니까? – JamesB

답변

1

..

SQLiteman-1.2.2 두 개의 데이터베이스 파일 (확장자없이) 하나 database.db 및 데이터베이스를 만듭니다. 나는 .DB 파일을 사용하지만, 행을 변경, 작동하지 않았다 :

connection = DriverManager.getConnection("jdbc:sqlite:C:/apache-tomcat-7.0.33/bin/dbit.db"); 

에 :

connection = DriverManager.getConnection("jdbc:sqlite:C:/apache-tomcat-7.0.33/bin/dbit"); 

내 문제를 해결.

+1

btw 'finally'블록의 리소스를 닫는 것을 잊지 마십시오. 예 : http://stackoverflow.com/a/13809186/814702를 참조하십시오. – informatik01