2011-07-06 12 views
1

既存のSQLiteテーブルにデータを挿入しようとしています。テーブルとデータベースは同じAPIを使用して作成されましたが、何らかの理由で挿入が機能せず、エラーメッセージが表示されません。BlackBerryでSQLiteの挿入が自動的に失敗する

私はこれをBlackBerry 9550シミュレータでテストしています。ここで

は私のクエリです:

final String insertQuery 
    = "INSERT INTO 'Auth'(" 
     + "'" + USER_ID_KEY + "', " 
     + "'" + USER_NAME_KEY + "', " 
     + "'" + USER_PASSWORD_KEY + "') " 
     + "VALUES (" 
     + userId + ", " 
     + "'" + username + "', " 
     + "'" + password + "') "; 

そして、私はそれを実行するために使用するコード:

final Statement insertOrUpdateStatement; 

insertOrUpdateStatement 
    = database.createStatement(insertQuery); 

insertOrUpdateStatement.prepare(); 
insertOrUpdateStatement.execute(); 
insertOrUpdateStatement.close(); 

それがうまく実行される、私はエラーメッセージを取得しませんが、データが挿入されることはありません。私はこれを確認するために3種類のSQLiteブラウザとBlackBerry APIを使用しました。

明示的なトランザクションも試してみましたが、どちらも機能しません。私は同様の問題を探して、このコードのバリエーションをたくさん試してみましたが、何もできません。助けて?

+0

これは私がこれをテストするために使用しているログイン機能を実装するクラス全体です。 [link](http://www.pastie.org/2174270) –

+0

最終的にはうまくいきませんでした。私は何か、もしあれば、私は今度別に何をしたのかは分からない。これは、古くからのCOBOLエディタ/コンパイラを除いて、私がこれまで使ってきた最もまれな開発環境です。 –

答えて

2

これは、テーブルとフィールドの周りに一重引用符があるためです。挿入構文から引用符を削除しようとしましたか?

final String insertQuery 
     = "INSERT INTO Auth(USER_ID_KEY,USER_ID_KEY,USER_PASSWORD_KEY) " 
      + "VALUES (" 
      + userId + ", " 
      + "'" + username + "', " 
      + "'" + password + "') "; 
+0

Sqliteは私の専門分野の1つではありませんが、あなたのクエリはmySQLやSQL Serverの中ではうまくいかないと思います。 –

+0

私の専門分野でもなく、私が見たコード例のできるだけ近くにとどまりました。私は引用符を削除し、何も変更されていません。構文エラーであっても、この静かな失敗ではなく例外が発生するはずです。 –