如何在android sqlite中更新数据库表?

开发人员服务台

我是Android新手。
我想基于CheckBox值更新表数据。
但是它没有更新表-相反,我收到了No Such Table error

这是代码:

  public class CheckListActivity extends Activity {

    CheckBox chkTask1, chkTask2, chkTask3, chkTask4, chkTask5, chkTask6,
            chkTask7, chkTask8, chkTask9, chkTask10;
    Button btnSave;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_check_list);

        chkTask1 = (CheckBox) findViewById(R.id.task1_option);
        chkTask2 = (CheckBox) findViewById(R.id.task2_option);
        chkTask3 = (CheckBox) findViewById(R.id.task3_option);
        chkTask4 = (CheckBox) findViewById(R.id.task4_option);
        chkTask5 = (CheckBox) findViewById(R.id.task5_option);
        chkTask6 = (CheckBox) findViewById(R.id.task6_option);
        chkTask7 = (CheckBox) findViewById(R.id.task7_option);
        chkTask8 = (CheckBox) findViewById(R.id.task8_option);
        chkTask9 = (CheckBox) findViewById(R.id.task9_option);
        chkTask10 = (CheckBox) findViewById(R.id.task10_option);

        btnSave = (Button) findViewById(R.id.button2);

        btnSave.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String error = "";
                if (chkTask1.isChecked()) {
                    error = updateCheckList(1, 1);
                } else {
                    error = updateCheckList(0, 1);
                }

                if (chkTask2.isChecked()) {
                    error = updateCheckList(1, 2);
                } else {
                    error = updateCheckList(0, 2);
                }

                if (chkTask3.isChecked()) {
                    error = updateCheckList(1, 3);
                } else {
                    error = updateCheckList(0, 3);
                }

                if(error.length()>0){
                    Toast.makeText(CheckListActivity.this, "ERROR " +error,
                            Toast.LENGTH_LONG).show();                  
                }else{
                    Toast.makeText(CheckListActivity.this, "Successfully Saved...!",Toast.LENGTH_LONG).show();
                }

            }

        });
    }

    private String updateCheckList(int flag, int id) {

        String errorStr = "";

        SQLiteDatabase db;
        db = openOrCreateDatabase("CheckList.db",
                SQLiteDatabase.CREATE_IF_NECESSARY, null);

        try {
            String sql = "UPDATE CheckList SET CHECKEDFLAG = " + flag
                    + " WHERE ID = " + id;
            db.execSQL(sql);

        } catch (Exception e) {
            errorStr = errorStr + e.getMessage();
        }

        return errorStr;
    }
  }
Phantômaxx

大胆的猜测:您是在应用首次运行后添加表格的。
解决方案:您必须卸载并重新安装您的应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在android的Sqlite数据库中创建表

如何在sqlite数据库(表)中插入图像?

如何在Android中更新现有sqlite数据库中的数据

如何使用sqlite数据库表即时更新recyclerview?

如何在Android中更新SQLite数据库中列的所有行?

在Android sqlite数据库中更新单个数据

如何在android sqlite数据库中更新新行

如何使用AND条件更新SQLite数据库中的数据?

在Android中删除或更新SQLite数据库中的条目

如何在android中对sqlite数据库进行排序

在android中更新和压缩sqlite数据库

尝试在Android中更新sqlite数据库时出错

尝试在android sqlite中更新数据库时出错

如何更新我的sqlite数据库中的值?

如何更新存储在 SQLite 数据库中的对象

如何重命名SQLite数据库表中的列?

如何在android studio中查看数据库表?

如何更新mysql数据库中的表

Laravel如何更新数据库表中的值?

如何在大型数据库的sqlite中为数据表行分配索引?

如何在Java中更新数据库中的表时立即更新jcombobox

Sqlite数据库如何存储表?

更新应用程序时,Android SQLite数据库更新表

如何在Sqlite flutter中列出数据库中的所有表?

如何在Flutter中的不同时间在Sqlite数据库中创建多个表

如何在SQLite Android中更新表

如何在数据库中获取表信息(SQLite)

创建表后如何在SQLite数据库中设置主键?

如何在Sqlite的数据库表中添加其他列?