将微调器数据发送到数据库

Send spinner data to database

我正在尝试从微调器向数据库发送数据 我这样初始化数据库 SPINNER + " TYPE ";

在插入数据的方法中我把它写成 Type spinner 但是这一行给我一个错误 contentValues.put(SPINNER, spinner);

我应该放什么而不是 put

public boolean insertData(String fname, String lname, String pnumber, String email, String nic, Type spinner) {
            SQLiteDatabase db = this.getWritableDatabase();
            ContentValues contentValues = new ContentValues();
            contentValues.put(FNAME, fname);
            contentValues.put(LNAME, lname);
            contentValues.put(PNUMBER, pnumber);
            contentValues.put(EMAIL, email);
            contentValues.put(NIC, nic);
            contentValues.put(SPINNER, spinner);

            long result = db.insert(DB_TABLE, null, contentValues);
            return result != -1;
        }

您正试图在数据库中保存微调器对象,当然失败了。
在table:

中将列SPINNER的数据类型更改为TEXT
...SPINNER + " TEXT";

同时在insertData()的定义中将参数spinner的数据类型更改为String:

public boolean insertData(String fname, String lname, String pnumber, String email, String nic, String spinner)

当您调用 insertData() 时传递微调器的选定项目而不是微调器本身:

insertData(....., yourSpinner.getSelectedItem().toString()) 

现在从设备上卸载应用程序以删除数据库并重新运行,以便使用列 SPINNER 的正确数据类型重新创建它。