Android.Java.Sqlite.Не находит столбец в таблице

249
30 декабря 2017, 03:46

Не находит столбец в таблице и выдаёт такую ошибку :

android.database.sqlite.SQLiteException: table information has no column named femaleWithName. Java - класс DBHelper :

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper{
    public static final int database_version = 1;
    public static final String database_name = "contactDb";
    public static final String table_contacts = "information";
    public static final String key_name = "name";
    public static final String key_female = "female";
    public static final String key_femaleWithName = "femaleWithName";

    public DBHelper(Context context) {
        super(context, database_name, null, database_version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(" create table " + table_contacts + " (  " + key_name + " varchar(30), " + key_female + " varchar(30),  " + key_femaleWithName + "   varchar(50)); "  );
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        db.execSQL("drop table if exists " + table_contacts);
        onCreate(db);
    }
}

Часть класса в котором производятся действия с базой данных:

public class FindSome extends AppCompatActivity implements  IMassive{

    private ListView items;
    private AutoCompleteTextView search;
    private TextView result9,result13,result14,result15;
    private Button addbtm,rem;
    private String text;
    DBHelper dbHelper;
    SQLiteDatabase sqLiteDatabase;
    ContentValues contentValues;
    private static final String TAG = "------LOGS------";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_some);
        dbHelper = new DBHelper(this);

        result9 = (TextView)findViewById(R.id.textView9);
        result13 = (TextView)findViewById(R.id.textView13);
        result14 = (TextView)findViewById(R.id.textView14);
        result15 = (TextView)findViewById(R.id.textView15);
        list();
        Log.d(TAG," Запуск list()");
        ArrayAdapter adapt = new ArrayAdapter(this,android.R.layout.select_dialog_item,namespers);
        search = (AutoCompleteTextView)findViewById(R.id.searcher);
        search.setThreshold(0);
        search.setAdapter(adapt);
        addbtm = (Button)findViewById(R.id.button2);
        rem = (Button)findViewById(R.id.remove);
        rem.setOnClickListener(
                new View.OnClickListener(){
                    @Override
                    public void onClick(View v){
                        Intent intentremove = new Intent("com.example.x.myfirstnormal.ActivityRemove");
                        startActivity(intentremove);
                    }
                }
        );
        addbtm.setOnClickListener(
                new View.OnClickListener(){
                    @Override
                    public void onClick(View v){
                        Intent intentadd = new Intent("com.example.x.myfirstnormal.ActivityAdd");
                        startActivity(intentadd);
                    }
                }
        );
        items.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick (AdapterView<?> parent,
                              View view,
                              int position,
                              long id) {
                sqLiteDatabase  = dbHelper.getWritableDatabase();
                contentValues = new ContentValues();

                result9.setText("");
                result13.setText("");
                result14.setText("");
                result15.setText("");


                Cursor cursor = sqLiteDatabase.query(DBHelper.table_contacts,null,null,null,null,null,null);

                if(cursor.moveToFirst()){

                    int nameIndex = cursor.getColumnIndex(DBHelper.key_name);
                    int femaleIndex = cursor.getColumnIndex(DBHelper.key_female);
                    int nameAndFemaleIndex = cursor.getColumnIndex(DBHelper.key_femaleWithName);

                    do{

                        String ifresult = cursor.getString(nameAndFemaleIndex);
                        String getResult = ifresult.replaceAll(" ", "");
                        if(getResult.equals(namespers.get(position).toString().replaceAll(" ", ""))){
                            result9.setText(cursor.getString(nameIndex));
                            result13.setText(cursor.getString(femaleIndex));
                        }
                    }while(cursor.moveToNext());
                }
               dbHelper.close();
            }
        });
    }

Как исправить ошибку?

P.S. Проект пробовал снести и заново запустить - не помогло .

READ ALSO
Карта интенсивностей (heatmap) в Java

Карта интенсивностей (heatmap) в Java

Есть двумерный массив с double значениямиНа основании этого массива нужно построить карту интенсивностей (heatmap)

170
Одна Cookie на два разных сайта

Одна Cookie на два разных сайта

Есть проектУ этого проекта есть Админ панель и есть скрипт

230
Дизайн Андроид Чата

Дизайн Андроид Чата

Всем приветСделал приложения с чатом

195