Моя проблема связана с sqlite и android studio.
Я пытаюсь использовать статического пользователя для добавления в таблицу внешних ключей и список элементов.
чтобы связать пользователя с предметом, который он одолжил.
Я не совсем понимаю, как использовать кнопку заимствовать в базе данных внешних ключей sql.
К сожалению, я не смог найти то, что включает в себя ту же проблему, что и у меня
файл проблемы базы данныхhelper
public boolean addBorrow(int ID,String Item, String MARK ) {
ContentValues contentValues = new ContentValues();
SQLiteDatabase db = this.getWritableDatabase();
String query = "INSERT INTO " + TABLE_ORDER +
COL2 + " SELECT FROM " + TABLE_ITEM +
" WHERE " + COL1 + " = '" + ID + "'";
String query1 = "INSERT INTO " + TABLE_ORDER +
COL2 + " SELECT FROM " + TABLE_USER +
" WHERE " + COL7 + " = '" + MARK + "'";
db.execSQL(query);
db.execSQL(query1);
long result = db.insert(TABLE_ORDER, null, contentValues);
//if date as inserted incorrectly it will return -1
if (result == -1) {
return false;
} else {
return true;
}
}
public static final String ITEM_DB = "items.db";
public static final String TABLE_ITEM = "items_data";
public static final String COL1 = "ID";
public static final String COL2 = "ITEM";
public static final String COL3 = "ITEMCATEGORIE";
public static final String COL4 = "ITEMDESCRIPTION";
public static final String COL5 = "ITEMQUANTITY";
public static final String USER_DB = "user.db";
public static final String TABLE_USER = "user_data";
public static final String COL6 = "ID_USER";
public static final String COL7 = "MARK";
public static final String ORDER_DB = "order.db";
public static final String TABLE_ORDER = "order_data";
public static final String COL8 = "ID_ORDER";
файл addBorrowItem
@Override
protected void onCreate(@Nullable Bundle savedInstancesState){
super.onCreate(savedInstancesState);
setContentView(R.layout.edit_item_layout);
vBorrow = (Button) findViewById(R.id.vBorrow);
Borrow = (Button) findViewById(R.id.Borrow);
myDB = new DatabaseHelper(this);
vBorrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(addBorrowedItem.this,ViewBorrowedItem.class);
startActivity(intent);
}
});
Borrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(!BorrowItem.equals("")){
myDB.addBorrow(BorrowItem,selectedID,ItemName,Username);
}else {
toastMessage("you must enter a name");
}
}
});
vBorrow = кнопка просмотра в xml
Заимствовать = кнопка заимствования в XML
Я надеялся, что предмет добавится в список заимствованных предметов
вместо этого я получаю ошибку
Нестатический метод equals (java.lang.Object) не может быть вызван из статического контекста
Это потому, что я пытался добавить статический объект с нестатическим?