为了账号安全,请及时绑定邮箱和手机立即绑定

我创建了一个没有任何表的空数据库,并且[保留]内的数据

我创建了一个没有任何表的空数据库,并且[保留]内的数据

跃然一笑 2019-04-18 18:15:05
我的db有问题。没有任何表和数据,只有空数据库。我应该在代码中更改什么?我想用硬编码的值创建一个数据库,因为我想稍后在spinner中使用它们。Database class    public class Database extends SQLiteOpenHelper {    private static final String DATABASE_NAME = "CurrencyExchange.db";    private static final String CURRENCY_TABLE = "currency_table";    public Database(Context context) {    super(context, DATABASE_NAME, null, 1);}@Overridepublic void onCreate(SQLiteDatabase db) {    db.execSQL("CREATE TABLE "+CURRENCY_TABLE+ " ( ID INTEGER PRIMARY KEY AUTOINCREMENT, BGN TEXT, NZD TEXT, ILS TEXT, RUB TEXT, CAD TEXT, USD TEXT, PHP TEXT, CHF TEXT, ZAR TEXT, AUD TEXT, JPY TEXT, TRY TEXT, HKD TEXT, MYR TEXT, THB TEXT, HRK TEXT, NOK TEXT, IDR TEXT, DKK TEXT, CZK TEXT, HUF TEXT, GBP TEXT, MXN TEXT, KRW TEXT, ISK TEXT, SGD TEXT, BRL TEXT, PLN TEXT, INR TEXT, RON TEXT, CNY TEXT, SEK TEXT)");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    db.execSQL("DROP TABLE IF EXISTS "+CURRENCY_TABLE);    onCreate(db);}public boolean insertData(){    SQLiteDatabase database = this.getWritableDatabase();    ContentValues contentValues = new ContentValues();    final String insert_data = "INSERT INTO "+CURRENCY_TABLE+ " VALUES (0,'BGN','NZD','ILS','RUB','CAD','USD','PHP','CHF','ZAR','AUD','JPY','TRY','HKD','MYR','THB','HRK','NOK','IDR','DKK','CZK','HUF','GBP','MXN','KRW','ISK','SGD','BRL','PLN','INR','RON','CNY','SEK')";    contentValues.put(CURRENCY_TABLE, insert_data);    return database.insert(CURRENCY_TABLE, null, contentValues) != -1;}主要活动    public class MainActivity extends AppCompatActivity {Database database;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    database = new Database(this);    database.insertData();
查看完整描述

3 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

这不是你如何使用 ContentValues


使用insert_data您制作的变量,您可以db.execSQL()再次使用


db.execSQL(insert_data);

如果你想使用ContentValues,database.insert()你必须像这样使用它:


ContentValues values= new ContentValues();

values.put(COLUMN1_NAME, value1);

values.put(COLUMN2_NAME, value2);

values.put(COLUMN3_NAME, value3);

//for each column of your table


return database.insert(CURRENCY_TABLE, null, values) != -1;


查看完整回答
反对 回复 2019-05-15
  • 3 回答
  • 0 关注
  • 574 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号