1

登録フォームを作成していますが、データベースに挿入するとエラーが発生します。次のコードを作成しました。

        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();
            }

Apache フォルダーの bin フォルダーに dbit という名前のデータベース ファイルがあります。このデータベース ファイルは Sqliteman-1.2.2 で作成され、2 つのファイル (dbit ファイル 3kb と dbit.db 0kb) を取得しました。

ユーザー名とパスワードをデータベースに挿入したいのですが、SQLException が発生します。スタックトレース: SQLExceptionon: no such table: users. しかし、そのテーブルはデータベースに存在します。

4

1 に答える 1

1

私は解決策を見つけました..

SQLiteman-1.2.2 は、database.db と database (拡張子なし) の 2 つのデータベース ファイルを作成します。私は .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");

私の問題を解決しました。

于 2013-01-21T10:35:43.177 に答える