0
但我能够检索字符串数据时动态创建表和选择查询在相同的方法内。无法检索一个字符串数据从动态创建并导致“索引0请求,大小为0”的sqlite table'column
动态创建表helper.classhomework(tablename,dateString);
public void classhomework(String tablename,String date){
String COLUMN_ID="S.No";
String COLUMN_SUBJECT1="subject1";
String COLUMN_SUBJECT2="subject2";
String COLUMN_SUBJECT3="subject3";
String COLUMN_dATE="date";
ContentValues insertValues = new ContentValues();
SQLiteDatabase db = getWritableDatabase();
db.execSQL("CREATE TABLE IF NOT EXISTS "+ tablename+ "(" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_SUBJECT1 + " TEXT, " +
COLUMN_SUBJECT2 + " TEXT, " +
COLUMN_SUBJECT3 + " TEXT, " +
COLUMN_dATE + " TEXT " +
");");
insertValues.put(COLUMN_SUBJECT1,"Not updated ");
insertValues.put(COLUMN_SUBJECT2,"Not updated ");
insertValues.put(COLUMN_SUBJECT3,"Not updated ");
insertValues.put(COLUMN_dATE,date);
db.insert(tablename,null,insertValues);
db.close();
}
调用select查询方法
String homeworkdetails=helper.gethomework(dateString,tablename,subjtxt);
选择查询方法
public String gethomework(String date,String tablename,String subject){
String COLUMN_dATE="date";
SQLiteDatabase db = getWritableDatabase();
String homeworkcontent = null;
Cursor cur=db.query(tablename,new String[]{subject},COLUMN_dATE+"=?",new String[]{String.valueOf(date)},null,null,null,null);
if(cur!=null){
cur.moveToFirst();
homeworkcontent =cur.getString(0);//**CursorIndexOutOfBoundsException**
}cur.close();
db.close();
return homeworkcontent;
但在此方法内创建表时返回的值。
调用更新查询成功更新
helper.updatehomework(dateString,homeworksubmt,subjectname,tabname)
更新查询
public boolean updatehomework(String date,String homework,String subject,String table){
try{ContentValues updateValues = new ContentValues();
SQLiteDatabase db = getWritableDatabase();
updateValues.put(subject,homework);
db.update(table,updateValues,"date =?",new String[]{date});
return true;
}catch (Exception me){
me.printStackTrace();
}return false;
}
值。
验证了所有表名的用法。
这就是我的问题。我不能从不同的方法检索值。但是当表格在选择查询方法内时,游标返回值 – arjun
尝试在日志中打印游标的大小,检查它是否有数据。 –