SQLite数据库不接受超过1000行?

时间:2013-03-27 19:10:38

标签: java android sqlite

我正在写一个Android应用程序。我正在解析txt文件中的行,并将每行的数据插入到SQLite数据库中。但插入过程恰好在1000个条目处停止。有3000多个条目,但插入过程在1000处停止。出了什么问题?

编辑:这是代码:

try{
            InputStream is = ctx.getAssets().open("feedtitlesandaddresses.txt");
            InputStreamReader iz=new InputStreamReader(is);
            BufferedReader br = new BufferedReader(iz);
            ContentValues values = new ContentValues();
            while((line=br.readLine())!=null) {
            StringTokenizer stringTokenizer = new StringTokenizer(line, "<");
            String firstNumber="";
            String strfinal="";
              **//code which gives values to strfinal and firstNumber excluded
              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){Log.d("yeah error is"+e,"twitch12");}

2 个答案:

答案 0 :(得分:1)

  

出了什么问题?

我猜这很奇怪。问题可能与两者有关(文件或数据库问题)。

您是否考虑过TRANSACTION?它可以解决您的问题。我最近使用db和normal插入了100 000行(但肯定在事务中),因为没有事务,你的操作将花费很多时间。

因此,我的建议将您的代码包装到事务中,读取和写入将花费更少的时间,它应该解决问题。

<强>伪代码:

try {
   db.begiTransaction();
   ...
   // your work with file and inserting
   db.setTransactionSuccessful();
   ...
}
finally {
   if (db.inTransaction()) {
      db.endTransaction();
   }
}

更新

查看1000. line in file并告诉我。

答案 1 :(得分:0)

步骤:

  • 转到SQLiteStudio
  • 选择工具&gt;打开配置对话框&gt;数据浏览
  • 在数据浏览中,您现在将拥有Number of data rows per page 根据需要选择尺寸。

我和你的问题一样,我将数字1000改为2000,它就像一个魅力。希望它对你有用。