我想知道如何传递从数据库类(DBUser.java)中的列号中检索的值,并将其分配给另一个类的变量?我已经在我的DBUser中尝试过这种方法.java:
public String getNumber() throws SQLException
{
String number;
Cursor mCursor = db.query(DATABASE_TABLE, new String[] {KEY_NUMBER}, null, null, null, null, null);
number = mCursor.getString(mCursor.getColumnIndex(KEY_NUMBER)); // KEY_NUMBER ="numbers"
mCursor.close();
return number; // I think I'm missing something here???? IDK
}
这是我的主类中的方法,我想传递列号的值:
public void onACU (View view) {
String messageToSend = "ACU ON";
DBUser dbUser = new DBUser(AleccMainActivity.this);
dbUser.open(); // I opened the DB
// recipient is a global variable.
recipient = dbUser.getNumber();//then I assigned the method in my string var thinking that the value will be passed to it.
dbUser.close(); // then i close the DB
SmsManager.getDefault().sendTextMessage(recipient, null, messageToSend, null,null);
}
我的直觉告诉我,我的db.query和return语句似乎不正确,所以请告诉我如何让它工作。不过我是Java的新手。谢谢!
即使游标只有一行,你也必须调用 moveToFirst() 或 moveToNext()。