我的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;
添加回答
举报
0/150
提交
取消