我只想创建一个简单的数据库,一个包含两列的表:id,它将自动递增和数据,因此要存储我的目标数据。我创建了这段代码,它不返回任何错误但也不添加任何数据:
database = openOrCreateDatabase ("alldata", 0, null);
try{
database.execSQL("CREATE TABLE cars(_id INTEGER PRIMARY KEY,data INTEGER);");
}
catch(SQLException e){
}
//database.execSQL("INSERT INTO cars(data) values(0);");
database.execSQL("INSERT INTO cars(data) values(1);");
database.execSQL("INSERT INTO cars(data) values(2);");
database.execSQL("INSERT INTO cars(data) values(3);");
database.execSQL("INSERT INTO cars(data) values(4);");
database.execSQL("INSERT INTO cars(data) values(5);");
String[] data={"_id","data"};
Cursor c=database.query(false, "cars", data, null, null, null, null, null, null, null);
int i=0;
if(c.getCount()>0){
c.moveToFirst();
readed[i]=c.getInt(0);
readed[i+1]=c.getInt(1);
i+=2;
}
当我尝试阅读“已读”表时,它只显示两个零 00:
for(int i=0;i<readed.length;i++){
if(readed[i] != null)
draw_number((int) readed[i],canvas,(float)(0.9*width-i*0.05*width),(float)(0.8*height));
}
Draw number 是我在surfaceview上绘制数字的方法,这个没有问题。但不幸的是我不知道,数据库的问题在哪里。据我所知,我一切正常,它应该返回:0 0 1 1 2 2 3 3 4 4 5 5(因为之前我在数据列中添加了一个 0。)但它只返回 0 0 有什么想法吗?