私はアンドロイド用のアプリを書いています。txt ファイルを読み取り、データを SQLite ファイルに書き込む必要があります。私はすべてのコードを完成させることができましたが、値をデータベースに挿入する部分が機能していません。私は以下のコードを与えました:
try{
ContentValues values = new ContentValues();
values.put(KEY_NAME, firstNumber); // Contact Name
values.put(KEY_PH_NO, strfinal); // Contact Phone
// Inserting Row
db.insert(TABLE_CONTACTS, null, values);
} catch(Exception e) {
e.printStackTrace();
}
このコードはデータベースに値を入力しておらず、操作が完了した後もデータベースは空のままです。これの何が問題なのですか?ありがとう。編集: OK、ここに完全なコードがあります:
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "feedsmanager.sqlite";
// Contacts table name
private static final String TABLE_CONTACTS = "table_to_hold_all_values";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";//ctid
private static final String KEY_PH_NO = "phone_number";//feedname,address;feedname;address etc
Context ctx;
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
ctx=context;
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
//Log.d("in onCreate","twitch1");
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT);";
//Log.d("below createcontacts","twitch1");
try{
db.execSQL(CREATE_CONTACTS_TABLE);
}catch(Exception e){Log.d("create went wrong: "+e,"twitch11");}
//Log.d("below db.execsql","twitch1");
populate(db);
}
void populate(SQLiteDatabase dbs){
String line="";
try{
InputStream is = ctx.getAssets().open("feedtitlesandaddresses.txt");
InputStreamReader iz=new InputStreamReader(is);
BufferedReader br = new BufferedReader(iz);
//SQLiteDatabase dbs = this.getWritableDatabase();
while((line=br.readLine())!=null) {
//Log.d("fcked here6","twitch1");
StringTokenizer stringTokenizer = new StringTokenizer(line, "<");
String firstNumber="";
String strfinal="";
firstNumber = (String) stringTokenizer.nextElement();
**//Calculations to give values to firstNumber and strfinal excluded
ContentValues values = new ContentValues();
values.put(KEY_NAME, firstNumber); // Contact Name
values.put(KEY_PH_NO, strfinal); // Contact Phone
// Inserting Row
dbs.insert(TABLE_CONTACTS, null, values);}
dbs.close();}catch(Exception e){Log.d("yeah error is"+e,"twitch12");}
}}