Я уже создал базу данных и таблицу в ней.Теперь я хочу добавить еще одну таблицу в базу данных с новой таблицей в ней.
package com.example.user.shopkeeper.sql;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import com.example.user.shopkeeper.model.User;
import java.util.ArrayList;
import java.util.List;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "manager.db";
private static final String TABLE_USER = "user";
private static final String COLUMN_USER_ID = "user_id";
private static final String COLUMN_USER_NAME = "user_name";
private static final String COLUMN_USER_EMAIL = "user_email";
private static final String COLUMN_USER_PASSWORD = "user_password";
private static final String COLUMN_USER_MOBILE_NUMBER = "user_mobile_number";
private String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_USER + "("
+ COLUMN_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_USER_NAME + " TEXT, "
+ COLUMN_USER_EMAIL + " TEXT, " + COLUMN_USER_PASSWORD + " TEXT, "+ COLUMN_USER_MOBILE_NUMBER + " TEXT" + ")";
private String DROP_USER_TABLE = "DROP TABLE IF EXISTS " + TABLE_USER;
public DatabaseHelper(Context context){
super(context, DATABASE_NAME,null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL(DROP_USER_TABLE);
onCreate(db);
}
public void addUser(User user){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USER_NAME,user.getName());
values.put(COLUMN_USER_EMAIL,user.getEmail());
values.put(COLUMN_USER_PASSWORD,user.getPassword());
values.put(COLUMN_USER_MOBILE_NUMBER,user.getNumber());
db.insert(TABLE_USER,null,values);
db.close();
}
public boolean checkUser(String email, String password){
String[] columns = {
COLUMN_USER_ID
};
SQLiteDatabase db = this.getWritableDatabase();
String selection = COLUMN_USER_EMAIL + " = ?" + " AND " + COLUMN_USER_PASSWORD + " = ? ";
String[] selectionArgs = {email , password};
Cursor cursor = db.query(TABLE_USER,
columns,
selection,
selectionArgs,
null,
null,
null );
int cursorCount = cursor.getCount();
cursor.close();
db.close();
if(cursorCount > 0){
return true;
}
else{
return false;
}
}
public boolean checkUser(String email){
String[] columns = {
COLUMN_USER_ID
};
SQLiteDatabase db = this.getWritableDatabase();
String selection = COLUMN_USER_EMAIL + " = ?" ;
String[] selectionArgs = {email};
Cursor cursor = db.query(TABLE_USER,
columns,
selection,
selectionArgs,
null,
null,
null );
int cursorCount = cursor.getCount();
cursor.close();
db.close();
if(cursorCount > 0){
return true;
}
else{
return false;
}
}
public List<String> getContactNumber(String email){
List<String> a = new ArrayList<>();
String[] contact = new String[]{email};
SQLiteDatabase db = this.getReadableDatabase();
String query = "SELECT " + COLUMN_USER_MOBILE_NUMBER +", " + COLUMN_USER_ID + ", " +COLUMN_USER_NAME + " FROM " + TABLE_USER + " WHERE " + COLUMN_USER_EMAIL + " =?";
Cursor c = db.rawQuery(query, contact);
if(c.moveToFirst()){
a.add(c.getString(c.getColumnIndex(COLUMN_USER_MOBILE_NUMBER)));
a.add(c.getString(c.getColumnIndex(COLUMN_USER_NAME)));
a.add(c.getString(c.getColumnIndex(COLUMN_USER_ID)));
}
db.close();
c.close();
return a;
}
}
Еще один: -
package com.example.user.shopkeeper.sql;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import com.example.user.shopkeeper.model.User;
public class AddClientUser extends SQLiteOpenHelper implements BaseColumns{
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "manager.db";
private final static String TABLE_CLIENT = "clients";
private final static String _ID = BaseColumns._ID;
private final static String COLUMN_USER_ID = "user_id";
private final static String CLIENT_USER_ID = "client_user_id";
private final static String COLUMN_CLIENT_NAME = "name";
private final static String COLUMN_CLIENT_GENDER = "gender";
private final static String COLUMN_CLIENT_MOBILE_NUMBER = "mobile_number";
private final static String COLUMN_AMOUNT = "amount";
public final static int GENDER_UNKNOWN = 0;
public final static int GENDER_MALE = 1;
public final static int GENDER_FEMALE = 2;
private String CREATE_USER_TABLE = "CREATE TABLE " + TABLE_CLIENT + "( "
+ CLIENT_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_USER_ID + " INTEGER, "
+ COLUMN_CLIENT_NAME + " TEXT, " + COLUMN_CLIENT_MOBILE_NUMBER + " TEXT, " + COLUMN_CLIENT_GENDER + " TEXT, "
+ COLUMN_AMOUNT + " INTEGER" + " )";
private String DROP_USER_TABLE = "DROP TABLE IF EXISTS " + TABLE_CLIENT;
public AddClientUser(Context context){
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL(DROP_USER_TABLE);
onCreate(db);
}
public boolean checkUserMobile(String contact){
String[] columns = {
CLIENT_USER_ID
};
SQLiteDatabase db = this.getReadableDatabase();
String selection = COLUMN_CLIENT_MOBILE_NUMBER + " =? ";
String[] selectionArgs = {contact};
Cursor cursor = db.query(TABLE_CLIENT,
columns,
selection,
selectionArgs,
null,
null,
null );
int count = cursor.getCount();
cursor.close();
db.close();
if(count > 0){
return true;
} else{
return false;
}
}
public void addClient(User user){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USER_ID,user.getUserId());
values.put(COLUMN_CLIENT_NAME,user.getName());
values.put(COLUMN_CLIENT_MOBILE_NUMBER,user.getNumber());
values.put(COLUMN_CLIENT_GENDER,user.getGender());
values.put(COLUMN_AMOUNT,user.getAmount());
db.insert(TABLE_CLIENT,null,values);
db.close();
}
}
Я хочу знать, как добавить таблицу с этим в существующую базу данных.Он включает в себя некоторый раздел обновления, который нужно изменить, и я не могу его найти.Я новичок в Android и не могу найти правильный код для его изменения.
Ошибка, которую я получил, заключается в том, что клиенты таблицы не найдены.