Не находит столбец в таблице и выдаёт такую ошибку :
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. Проект пробовал снести и заново запустить - не помогло .
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть двумерный массив с double значениямиНа основании этого массива нужно построить карту интенсивностей (heatmap)