Android 数据不显示在sqlite数据库中
我已经在我的android项目中创建了一个SQlite数据库表,我可以插入行并从该表中检索值,但是如果我尝试从SQlite软件加载数据库表,它不会显示我的表,请给出一个解决方案谢谢 我所尝试的:Android 数据不显示在sqlite数据库中,android,database,sqlite,Android,Database,Sqlite,我已经在我的android项目中创建了一个SQlite数据库表,我可以插入行并从该表中检索值,但是如果我尝试从SQlite软件加载数据库表,它不会显示我的表,请给出一个解决方案谢谢 我所尝试的: //creating Database private static final String TABLE_BUYMAGISSUE= "buymagazine";//buy issues table private static final String MAGCAT_ID= "magid"; priv
//creating Database
private static final String TABLE_BUYMAGISSUE= "buymagazine";//buy issues table
private static final String MAGCAT_ID= "magid";
private static final String MAGSELECTBOOK_ID= "issueid";
private static final String MAGBUY_ID= "androidissuebuyid";
private static final String MAGBUYIMG_URL= "coverimage_path";
private static final String MAGBUY_TITLE= "title";
private static final String MAGBUYPDF_URL= "uploadfile_path";
String CREATE_BUYMAGTABLE ="CREATE TABLE " + TABLE_BUYMAGISSUE + "("+ KEY_ID + " INTEGER PRIMARY KEY," + MAGCAT_ID + " TEXT," + MAGSELECTBOOK_ID + " TEXT," + MAGBUY_ID + " TEXT," + MAGBUYIMG_URL + " TEXT," + MAGBUY_TITLE + " TEXT," +MAGBUYPDF_URL +" TEXT" + ")";
db.execSQL(CREATE_BUYMAGTABLE);
//Inserting Values
dbs.insertBuyedMagIssueDetails(strMagBookId, select_bookID, buyIssue_ID, strBuyImg, strBuyTitle, strBuyPDF);
//DBclass
public void insertBuyedMagIssueDetails(String strMagBookId,String select_bookID,String strBuyID,String strBuyImg,String strBuyTitle,String strBuyPDF) {
// TODO Auto-generated method stub
//bookname=bookname.trim();
try
{
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(MAGCAT_ID, strMagBookId);
values.put(MAGSELECTBOOK_ID, select_bookID);
values.put(MAGBUY_ID, strBuyID);
values.put(MAGBUYIMG_URL, strBuyImg);
values.put(MAGBUY_TITLE, strBuyTitle);
values.put(MAGBUYPDF_URL, strBuyPDF);
db.insert(TABLE_BUYMAGISSUE, null, values);
Log.d("inserted success",TABLE_BUYMAGISSUE);
db.close(); // Closing database connection
}
catch(Exception e)
{
e.printStackTrace();
}
}
// Retrieving values
ArrayList<List<String>> arrbookcatgory = new ArrayList<List<String>>();
arrbookcatgory = dbs.getBuyMagIssueName("buymagazine");
String[] arrCatId = new String[arrbookcatgory.size()];
String[] arrSelectBook = new String[arrbookcatgory.size()];
String[] arrBuyId = new String[arrbookcatgory.size()];
String[] arrBuyImage = new String[arrbookcatgory.size()];
String[] arrBuyTitle = new String[arrbookcatgory.size()];
String[] arrBuyPdf = new String[arrbookcatgory.size()];
int length = arrbookcatgory.size();
for (int i = 0; i < length; i++) {
arrCatId[i] = arrbookcatgory.get(i).get(0);
arrSelectBook[i] = arrbookcatgory.get(i).get(1);
arrBuyId[i] = arrbookcatgory.get(i).get(2);
arrBuyImage[i] = arrbookcatgory.get(i).get(3);
arrBuyTitle[i] = arrbookcatgory.get(i).get(4);
arrBuyPdf[i] = arrbookcatgory.get(i).get(5);
}
}catch (Exception e)
{
e.printStackTrace();
}
//DB class
public ArrayList<List<String>> getBuyMagIssueName(String tableName)
{
Cursor c = null;
ArrayList<List<String>> Category=new ArrayList<List<String>>();
// TODO Auto-generated method stub
try{
String mypath = DB_PATH + DATABASE_NAME;
myDataBase = SQLiteDatabase.openDatabase(mypath, null, SQLiteDatabase.OPEN_READWRITE);
SQLiteDatabase db =myDataBase;// getReadableDatabase();
//String query="SELECT * FROM subcategory where catid=?" , new String [] {catId};
//String query="SELECT * FROM subcategory WHERE catid ="+ catId+"";
c = db.rawQuery("SELECT * FROM "+tableName+" ",null);
if (c.getCount()>0)
{
if(c.moveToFirst()) // rent
{
do
{
ArrayList<String> listRent = new ArrayList<String>() ;
String Catid=c.getString(0);
String selectIssueid=c.getString(1);
String buyId=c.getString(2);
String buyImage=c.getString(3);
String buyTitle=c.getString(4);
String buyPdf=c.getString(5);
listRent.add(Catid);
listRent.add(selectIssueid);
listRent.add(buyId);
listRent.add(buyImage);
listRent.add(buyTitle);
listRent.add(buyPdf);
Category.add(listRent);
}
while(c.moveToNext());
}
}
return Category;
}
catch (Exception e)
{
e.printStackTrace();
}
finally{
if (c!=null)
c.close();
}
return null;
}
//创建数据库
私有静态最终字符串表\u BUYMAGISSUE=“buymagazine”//购买问题表
专用静态最终字符串MAGCAT_ID=“magid”;
私有静态最终字符串MAGSELECTBOOK_ID=“issueid”;
私有静态最终字符串magbuid=“androidissuebuyid”;
私有静态最终字符串magbuiimg\u URL=“coverimage\u path”;
私有静态最终字符串magbutitle=“TITLE”;
私有静态最终字符串magbupdf\u URL=“uploadfile\u path”;
字符串CREATE_BUYMAGTABLE=“CREATE TABLE”+TABLE_BUYMAGISSUE+”(“+KEY_ID+”整型主键“+MAGCAT_ID+”文本“+MAGSELECTBOOK_ID+”文本“+magbuimgu URL+”文本“+magbuimgu标题+”文本“+magbupdf_URL+”文本“+”);
db.execSQL(创建\u BUYMAGTABLE);
//插入值
dbs.insertBuyedMagIssueDetails(标准图书、选择图书ID、购买发行ID、标准图书、标准图书标题、标准图书PDF);
//数据库类
public void insertBuyedMagIssueDetails(字符串strMagBookId、字符串select\u bookID、字符串strBuyID、字符串strBuyImg、字符串strBuyTitle、字符串strBuyPDF){
//TODO自动生成的方法存根
//bookname=bookname.trim();
尝试
{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues=新的ContentValues();
值。put(MAGCAT_ID,strMagBookId);
value.put(MAGSELECTBOOK\u ID,selectbook\u ID);
put值(MAGBUY_ID、strBuyID);
value.put(magbuiimg\u URL,strBuyImg);
价值。看跌期权(MAGBUY_TITLE、strBuyTitle);
value.put(MAGBUYPDF\uURL,strBuyPDF);
db.insert(表_BUYMAGISSUE,null,值);
Log.d(“插入成功”,表);
db.close();//关闭数据库连接
}
捕获(例外e)
{
e、 printStackTrace();
}
}
//检索值
ArrayList arrbookcatgory=新ArrayList();
arrbookcatgory=dbs.getBuyMagIssueName(“buymagazine”);
String[]arrCatId=新字符串[arrbookcatgory.size()];
String[]arrSelectBook=新字符串[arrbookcatgory.size()];
String[]arrbyid=新字符串[arrbookcatgory.size()];
String[]arrbyImage=新字符串[arrbookcatgory.size()];
String[]arrbyTitle=新字符串[arrbookcatgory.size()];
String[]arrbyPDF=新字符串[arrbookcatgory.size()];
int length=arrbookcatgory.size();
for(int i=0;i0)
{
if(c.moveToFirst())//租金
{
做
{
ArrayList listRent=新的ArrayList();
字符串Catid=c.getString(0);
字符串selectIssueid=c.getString(1);
String buyId=c.getString(2);
String buyImage=c.getString(3);
String buyTitle=c.getString(4);
字符串buyPdf=c.getString(5);
添加(Catid);
添加(选择IssueId);
listRent.add(buyId);
添加(buyImage);
listRent.add(购买所有权);
添加(PDF格式);
类别。添加(列表租金);
}
而(c.moveToNext());
}
}
退货类别;
}
捕获(例外e)
{
e、 printStackTrace();
}
最后{
如果(c!=null)
c、 close();
}
返回null;
}
如果希望在完成时保存值,则需要在事务中(并提交它)
SQLiteDatabase db = this.getWritableDatabase();
db.beginTransaction()
…插入、更新、删除等
if (ok) {
db.setTransactionSucessful();
}
db.endTransaction();
db.close();
关于格式问题,我已经回答了一段时间了。您如何处理您的表?请清楚地告诉我@srefrom您在哪里处理数据不存在的表?插入和重新驱动不是问题,我的数据库不显示在SQLite中,您在哪里测试您的应用程序。在设备或模拟器中?