2015-03-04 3 views
1

Я выполнил программу для вставки и извлечения данных из базы данных Android android.Как я могу просмотреть содержимое из базы данных sqlite

Вставка исправно работает. но данные просмотра не выполняются. мой код прилагается ниже. пожалуйста, помогите мне с кодом ниже

import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.app.Activity; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.graphics.Color; 
import android.util.Log; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Toast; 

public class ViewActivity extends Activity { 
    SQLiteDatabase myDB = null; 
    String TableName = "LIST"; 
    String Data = ""; 


    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_view); 
    } 
    public void show1(View v) { 

      Cursor c = myDB.rawQuery("SELECT * FROM LIST", null); 

      int Column1 = c.getColumnIndex("Name"); 
      int Column2 = c.getColumnIndex("Address"); 
      int Column3 = c.getColumnIndex("Phone"); 

      c.moveToFirst(); 

      if (c != null) { 

       do { 
        String Name = c.getString(Column1); 
        String Address = c.getString(Column2); 
        String Phone = c.getString(Column3); 
        Data = Data + Name + "\t\t" + Address + "\n\n" + Phone + "\n\n"; 

       } while (c.moveToNext()); 
      } 

      TextView tv = (TextView) findViewById(R.id.show1);; // creating Text View to show data in the app 
      tv.setTextColor(Color.WHITE); 
      tv.setBackgroundResource(R.drawable.b); 
      tv.setTextSize(18F); 
      tv.setText("\n"+"Name \t| Address \n \t| Phone \n ----------------------\n"); 
      setContentView(tv); // set created text view as Content View 

     } 


} 

ответ

0

Проверьте названия таблиц и столбцов, кажется, всегда является обычной проблемой. Вопрос: если вы добавляете результат в строку данных, почему вы не используете его для показа в своей деятельности? Является ли строка данных пустой после выполнения во время блокировки?

Во-вторых, вы должны попытаться использовать шаблон доступа к данным http://en.wikipedia.org/wiki/Data_access_object, ваш код будет более удобным и аккуратным.

+0

имена являются правильными – Anoop

+0

Строка данных является пустой, когда вы заканчиваете делать/в то время? – Angmar

+0

при нажатии на кнопку просмотра всегда показывает, к сожалению, перестала работать ошибка – Anoop

0

Получил ответ .. это кажется простым

import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 
import android.app.Activity; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 

public class MainActivity extends Activity { 
    SQLiteDatabase db; 
     TextView tv; 
     EditText et1,et2,et3; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     //initialize all view objects 
     tv=(TextView)findViewById(R.id.textView1); 
     et1=(EditText)findViewById(R.id.editText1); 
     et2=(EditText)findViewById(R.id.editText2); 
     et3=(EditText)findViewById(R.id.editText3); 

     //create database if not already exist 
     db= openOrCreateDatabase("Anoop", MODE_PRIVATE, null); 
     //create new table if not already exist 
     db.execSQL("create table if not exists mytable(name varchar, address varchar,phone varchar)"); 
     } 
     //This method will call on when we click on insert button 
     public void insert(View v) 
     { 
     String name=et1.getText().toString(); 
     String address=et2.getText().toString(); 
     String phone=et3.getText().toString(); 
     et1.setText(""); 
     et2.setText(""); 
     et3.setText(""); 
     //insert data into able 
     db.execSQL("insert into mytable values('"+name+"','"+address+"','"+phone+"')"); 
     //display Toast 
     Toast.makeText(this, "values inserted successfully.", Toast.LENGTH_LONG).show(); 
     } 
     //This method will call when we click on display button 
     public void display(View v) 
     { 
     //use cursor to keep all data 
     //cursor can keep data of any data type 
     Cursor c=db.rawQuery("select * from mytable", null); 
     tv.setText(""); 
     //move cursor to first position 
     c.moveToFirst(); 
     //fetch all data one by one 
     do 
     { 
     //we can use c.getString(0) here 
     //or we can get data using column index 
     String name=c.getString(c.getColumnIndex("name")); 
     /*String address=c.getString(1); 
     String phone=c.getString(2);*/ 
     String address=c.getString(c.getColumnIndex("address")); 
     String phone=c.getString(c.getColumnIndex("phone")); 
     //display on text view 
     tv.append("Name:"+name+" Address:"+address+" Phone:"+phone+"\n"); 
     //move next position until end of the data 
     }while(c.moveToNext()); 
     } 
    } 
Смежные вопросы