对不起打扰你们所有人,但有时帮助就是我要求的.我是Android开发的新手,目前我正在通过ChannelKnowledge通道在youtube上关注android数据库创建教程,但是,它只适用于一个表,而我需要在数据库中有3个表,并且无法获得我的方式.任何帮助,将不胜感激.提前致谢!
这是我目前的代码.
公共类DatabaseHelper扩展SQLiteOpenHelper {
//database name declaration
public static final String DATABASE_NAME = "museum.db";
public static final String TABLE_NAME = "exponent_table";
public static final String COL_1 = "ID";
public static final String COL_2 = "TITLE";
public static final String COL_3 = "STORY";
public static final String COL_4 = "AUTHOR";
public static final String COL_5 = "DATE";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
SQLiteDatabase db= this.getWritableDatabase(); //will create database and table, just for checking, will be replaced
}
@Override
public void onCreate(SQLiteDatabase db) {
//creating tables ???
db.execSQL("create table "+TABLE_NAME+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, TITLE TEXT, STORY TEXT, AUTHOR TEXT, DATE STRING)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}
}
我在链接上看到了类似的东西:
Multi-table database SQLite android
但还是不明白.
解决方法:
this是非常好的教程..阅读它
你可以像这样创建多个表
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table "+TABLE_NAME+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, TITLE TEXT, STORY TEXT, AUTHOR TEXT, DATE STRING)");
db.execSQL("create table "+TABLE_NAME1+" (ID INTEGER PRIMARY KEY AUTOINCREMENT, Table1Field TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int i, int i1) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME1);
onCreate(db);
}
标签:android,sqlite,database 来源: https://codeday.me/bug/20190823/1701628.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。