Proszę użyć następujących kodów do tworzenia wielu tabel (i stworzyli dwie tabele teraz). Zrobiłem kod do tworzenia i wstawiania. również ..
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class MyDB {
public static final String KEY_ROWID = "_id";
public static final String KEY_FIRSTNAME = "ID";
public static final String KEY_LASTNAME = "CS";
public static final String KEY_DESIGNATION = "CN";
public static final String KEY_DN = "DN";
private static final String TAG = "MyDB";
private static final String DATABASE_NAME = "test.db";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_CREATE_ValidateUser_DriverInfo =
"create table tabletest1 (_id integer primary key autoincrement, "
+ "ID text not null, CS text not null,CN text not null,DN text not null);";
private static final String DATABASE_CREATE_ValidateUser_TripInfo =
"create table tabletest2 (_id integer primary key autoincrement, "
+ "TI text not null, PU text not null,LN text not null,FN text not null,Origin varchar not null,De text not null);";
private Context context;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
public MyDB(Context ctx)
{
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper
{
DatabaseHelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
db.execSQL(DATABASE_CREATE_ValidateUser_DriverInfo);
db.execSQL(DATABASE_CREATE_ValidateUser_TripInfo);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion)
{
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS Employee");
onCreate(db);
}
}
public MyDB open() throws SQLException
{
db = DBHelper.getWritableDatabase();
return this;
}
//---closes the database---
public void close()
{
DBHelper.close();
}
public long insertTitle(ContentValues initialValues,String TableName)
{
return db.insert(TableName, null, initialValues);
}
}
Użyj poniższego kodu, aby wstawić dane z wymaganej aktywności.
MyDB mmdb=new MyDB(getBaseContext());
mmdb.open();
initialValues = new ContentValues();
initialValues.put("ID", ID);
initialValues.put("CS", CS);
initialValues.put("CN", CN);
initialValues.put("DN", DN);
mmdb.insertTitle(initialValues,"tabletest1");
mmdb.close();
Musisz postępować zgodnie z tą opcją. Utworzyć pojedynczą klasę SQLiteOpenHelper, która tworzy obie TABLE? – itsrajesh4uguys