如何解决android中的sqlLite没有将我的数据插入表中
我不知道为什么在执行insertGasData之后我有返回结果= -1。在其他类似结构中,结果为!= -1,但= = -1。 有DatabaseHelper类和主类
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "car.db";
public static final String TABLE_NAME2 = "car_gas_table";
public static final String COL_G_1 = "GAS_ID";
public static final String COL_G_2 = "GAS_DATE";
public static final String COL_G_3 = "GAS_MILEAGE";
public static final String COL_G_4 = "FUEL_TYPE";
public static final String COL_G_5 = "FUEL_COST";
public static final String COL_G_6 = "FUEL_VOLUME";
public DatabaseHelper(@Nullable Context context) {
super(context,DATABASE_NAME,null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL("create table " + TABLE_NAME2 + " (GAS_ID INTEGER PRIMARY KEY AUTOINCREMENT,GAS_DATE TEXT,GAS_MILEAGE TEXT,FUEL_TYPE TEXT,FUEL_COST TEXT,FUEL_VOLUME TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase,int i,int i1) {
sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME2);
}
public boolean insertGasData(String date,String mileage,String fuel_type,String fuel_price,String fuel_volume) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_G_2,date);
contentValues.put(COL_G_3,mileage);
contentValues.put(COL_G_4,fuel_type);
contentValues.put(COL_G_5,fuel_price);
contentValues.put(COL_G_6,fuel_volume);
long result = sqLiteDatabase.insert(TABLE_NAME2,contentValues);
if (result == -1)
return false;
else return true;
}
有一个调用方法 我在那里使用字符串来消除其他错误,但这没有帮助
public void AddRefuelrData() {
bDodaj.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// boolean isInsert = myDb.insertGasData(eRefDate.getText().toString(),eRefMileage.getText().toString(),eRefType.getText().toString(),eRefPrice.getText().toString(),eRefVolume.getText().toString());
boolean isInsert = myDb.insertGasData("dd","mm","tt","pr","vo");
if (isInsert == true)
Toast.makeText(MainActivity.this,"Data inserted",Toast.LENGTH_LONG).show();
else
Toast.makeText(MainActivity.this,"Data not inserted",Toast.LENGTH_LONG).show();
}
});
}
在调用方法insertGasData之后,我返回false
解决方法
您确定该表实际上是正确创建的吗? 使用设备文件资源管理器检查是否创建了数据库。 应该有助于缩小问题的范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。