2

挿入または置換クエリを使用したいのですが、ここで私が持っているコードを提供します

  String sql="insert or replace into Stock_Table values (?,?,?,?,?,?)"; 

  sqlite.execSQL(sql, new String[]{id,name,code,vat,itmquan,pric});

このテーブルにもう 1 つのフィールドを追加で挿入したいのですが、そのフィールドはバイト配列形式の文字列ではありません。このテーブルに画像を追加したいのですが、この画像のデータ型をテーブルの BLOB として指定しましたが、できません。バイト配列形式をパラメーターとして上記の sqlite.execsql 関数に渡すことができます。ここでは、挿入したい形式を指定します

byte []byteImage;

String sql="insert or replace into Stock_Table values (?,?,?,?,?,?,?)"; 

sqlite.execSQL(sql, new String[]{id,name,code,vat,itmquan,pric,byteImage});

どうすれば可能になりますか。このバイト配列を文字列に変換できません。画像を BLOB 形式でのみ挿入したいのですが、解決策を見つけるのを手伝ってください

4

2 に答える 2

2

バイト配列を直接使用できるようにするContentValues オブジェクトを取る挿入メソッドのバリアントを使用します。

byte[] byteImage;
ContentValues cv = new ContentValues();
cv.put("id", id);
// ...
cv.put("blobcolumn", byteImage);
sqlite.insertWithOnConflict("Stock_Table", null, cv, SQLiteDatabase.CONFLICT_REPLACE);
于 2013-05-27T11:06:39.163 に答える