开发者

How do I query SQLite Database in Android?

I successfully created the Database and inserted a row however I cannot Query it for some reason. My Droid crashes everytime.

          // Create a new row of values to insert.
          ContentValues newValues = new ContentValues();
          // Assign values for each row.
          newValues.put("value", "kunjan");
          // Insert the row into your table
          myDatabase.insert(DATABASE_TABLE,开发者_开发知识库 null, newValues);

          String[] result_columns = new String[] { "value" };

          // I GET AN EXCEPTION HERE
          Cursor allRows = myDatabase.query(true, DATABASE_TABLE, result_columns, null, null,
              null, null, null, null);

          if (allRows.moveToFirst()) {
            String value = allRows.getString(0);
            TextView foo = (TextView) findViewById(R.id.TextView01);
            foo.setText(value);
          }

          allRows.close();
          myDatabase.close();

I get this exception

no such column: value: , while compiling: SELECT DISTINCT value FROM mainTable


I think you are creating table with only one column(value) and you are trying to read the column-1 instead of column-0 from the cursor. If that still not helps, please add try-catch block and capture the logs

String value = allRows.getString(0);


Some of the problems with the original post

  • Creating a table that has already been created. I wrote "if not exists" in the "create table" instruction.
  • Not handling Exceptions properly. I got a lot of exceptions in the creation of the table, quering it etc. I sorrounded all these operations with try-catch
  • Using hard coded values for Column names - This made it harder to verify if I was querying the column that I had created.
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜