我正在爲android編寫一個應用程序。我需要讀取一個txt文件並將數據寫入SQLite文件中。我設法完成了所有的代碼,但是它應該將值插入到數據庫中的部分不起作用。我給出了以下代碼:什麼不是這個代碼插入到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();
}
此代碼未輸入數據庫中的值,並且在操作完成後數據庫保持爲空。這有什麼問題?謝謝。 編輯:好的,這裏是全碼:
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");}
}}
你的logcat出現錯誤嗎?請張貼它。 – span 2013-03-26 21:14:51
@span不!我把它放在try catch塊中,沒有錯誤! – 2013-03-26 21:15:55
@ user2213396:顯示你的'try/catch' – jlordo 2013-03-26 21:16:57