Как получить UserID в форме, чтобы добавить ее в таблицу? - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь получить UserID из моей таблицы «users» и добавить его в форму внутри Activity, где я добавляю новые предложения в мою таблицу «products». Я уже знаю, как получить UserID из моей таблицы, но я не знаю, как вставить его в форму.

Как получить UserID

public int getuserid(String username) {
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery("Select * from user where username=?", new String[]{username});
    if (cursor.getCount()>0)
        return cursor.getInt(0);
    else
        return 0;

}
}

EDIT

My AddOffers Acticity,

   @Override


    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.addofferactivity);
    myTraderDbHelper = new MyTraderDbHelper(this);

    add_art = (EditText) findViewById(R.id.add_art);
    add_namep = (EditText) findViewById(R.id.add_namep);
    add_menge = (EditText) findViewById(R.id.add_menge);
    add_standort = (EditText) findViewById(R.id.add_standort);
    add_gueltigbis = (EditText) findViewById(R.id.add_gueltigbis);
    add_userzuordnung = (EditText) findViewById(R.id.add_userzuordnung);
    add_button = (Button) findViewById(R.id.add_button);
    AddOffer();

}



public void AddOffer(){
    RegDBHelper regDBhelper = new RegDBHelper(this);
    regDBhelper.getuserid();
    add_button.setOnClickListener(
            new View.OnClickListener(){
                @Override
                public void onClick(View v){
                    if (add_namep.getText().toString()!=null){
                        String username = add_namep.getText().toString();
                        boolean isInsirted = myTraderDbHelper.addOffer(add_art.getText().toString(),
                                add_namep.getText().toString(),
                                add_menge.getText().toString(),
                                add_standort.getText().toString(),
                                add_gueltigbis.getText().toString(),
                                getuserid(username)
                        add_userzuordnung.setText(""+getuserid(username));
                    }
                    if (isInserted =true)
                        Toast.makeText(AddOffersActivity.this,"Hinzugefügt",Toast.LENGTH_LONG).show();
                    else
                        Toast.makeText(AddOffersActivity.this,"Nicht hinzugefügt",Toast.LENGTH_LONG).show();
                }
            }
    );
}

Ошибка в третьей строке в скобках, в 15-й и 16-й строке

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Можно было поставить

if (add_namep.getText().toString()!=null){
String username = add_namep.getText().toString();
boolean isInsirted = myTraderDbHelper.addOffer(add_art.getText().toString(),
                            add_namep.getText().toString(),
                            add_menge.getText().toString(),
                            add_standort.getText().toString(),
                            add_gueltigbis.getText().toString(),
                            getuserid(username);
add_userzuordnung.setText(""+getuserid(username))
}

Или я что-то не так понимаю?

0 голосов
/ 17 июня 2020

Примерно так:

public void AddOffer(String art, String namep, String menge, String standort, String gueltigbis, String userzuordnung) {

    SQLiteDatabase db = dbHelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(COLUMN_NAME_TITLE, art);
    values.put(COLUMN_NAME_NAMEP, namep);
    values.put(COLUMN_NAME_MENGE, menge);
    values.put(COLUMN_NAME_STANDORT, standort);
    values.put(COLUMN_NAME_GUELTIGBIS, gueltigbis);
    values.put(COLUMN_NAME_USERZOUDNUNG, userzuordnung);

    long newRowId = db.insert(TABLE_NAME, null, values)
}

или если вы хотите обновить строку таблицы с userId

 public Int updateOffer(Int userId, String art, String namep, String menge, String standort, String gueltigbis, String userzuordnungl)
    {
        ContentValues values = new ContentValues();
        SQLiteDatabase db = dbHelper.getWritableDatabase();
        values.put(COLUMN_NAME_TITLE, art);
        values.put(COLUMN_NAME_NAMEP, namep);
        values.put(COLUMN_NAME_MENGE, menge);
        values.put(COLUMN_NAME_STANDORT, standort);
        values.put(COLUMN_NAME_GUELTIGBIS, gueltigbis);
        values.put(COLUMN_NAME_USERZOUDNUNG, userzuordnung);
        return db.update(TABLE_NAME, contentValues, "UserId=?" + userId,null)
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...