AndroidアプリケーションでSQLiteデータベースから値を取得したいとします。ここで私のプログラムでは、SQLiteに2つの文字列を格納しました。テーブル名は「名前」です。 2番目の部分では、SQLiteデータベースに格納された2つの文字列を取得し、それらを編集テキストフィールドに表示します。しかし、プログラムを実行すると、空の画面しか表示されません。私のコードで解決策や変更をお願いします。SQLiteデータベースから値を取得する
package com.ret;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.R.id;
public class RetriveActivity extends Activity {
ContentValues values= new ContentValues();
SQLiteDatabase db;
String first="android";
String last="apps";
String f,s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
db=openOrCreateDatabase("test5.db",SQLiteDatabase.CREATE_IF_NECESSARY,null);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
final String table_create="CREATE TABLE name("+"column1 TEXT,"+"column2 TEXT);";
db.execSQL(table_create);
values.put("column1",first);
values.put("column2",last);
db.insert("name", null, values);
Cursor c = db.query("name",null,null, null, null, null,null);
while(c.moveToFirst())
{
f=c.getString(c.getColumnIndex("column1"));
s=c.getString(c.getColumnIndex("column2"));
db.close();
}
EditText e1=(EditText)findViewById(R.id.editText1);
e1.setText(""+f+""+s);
db.close();
}
}
どのようなエラーが表示されますか? dbを2回閉じることに気付きました。具体的な理由は何ですか? –
例外が発生した場合は、エラーログを投稿してください... – Prem
[SQLiteデータベースから値を取得]の可能な複製(http://stackoverflow.com/questions/9803091/retrieve-values-from-sqlite-database) – eldarerathis