我真的在这段代码上花了很多时间,但我无法解释数据库无法正常工作的任何原因
我只想插入一行。所以我创建了这个函数:
无效插入fav(字符串k){
myDataBase = khol();
Cursor cur = myDataBase.rawQuery("SELECT " + colname + " from "
+ deptTable + " WHERE " + col3 + "=" + "'" + k + "'",
new String[] {});
cur.moveToFirst();
String area = cur.getString(cur.getColumnIndexOrThrow(colname));
cur = myDataBase.rawQuery("SELECT " + col2 + " from " + deptTable
+ " WHERE " + col3 + "=" + "'" + k + "'", new String[] {});
cur.moveToFirst();
String disease = cur.getString(cur.getColumnIndexOrThrow(col2));
myDataBase.rawQuery(
"INSERT INTO " + favtable + " ("+colname+", "+col2+", "+col3+")"
+ "Values (" + "'" + area + "'" + ", " + "'" + disease
+ "'" + ", " + "'" + k + "'" + ")", new String[] {});
myDataBase.close();
}
当我在 sqlite 浏览器中运行此查询时,它运行良好,但是当在模拟器中运行应用程序时实际调用此函数时,没有插入任何内容。
khol() 是一个打开数据库的函数。这是 khol() 函数的代码:
public SQLiteDatabase khol() throws SQLException {
// Open the database
String myPath = DB_PATH + DB_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READWRITE);
return myDataBase;
}
其中 DB_PATH 和 DB_NAME 是:
private static String DB_PATH = "/data/data/example.SQLitetest/";
private static String DB_NAME = "desicures.db";
虽然 khol() 在其他查询中工作正常,但可能是我在这里做错了什么......
请帮帮我...