Java (Android)无法将数据插入SQLite数据库
我尝试了很多修复,但仍然无法找到无法插入数据的原因。我使用了一个名为BD Browser for SQLite的工具来检查数据,有表和列,但没有值 代码:Java (Android)无法将数据插入SQLite数据库,java,android,Java,Android,我尝试了很多修复,但仍然无法找到无法插入数据的原因。我使用了一个名为BD Browser for SQLite的工具来检查数据,有表和列,但没有值 代码: public class MainActivity extends Activity { private Button btnadd,btnselect; private EditText etmiles,etdate,etcosts,etprice; SQLiteDatabase db; @Override protected void
public class MainActivity extends Activity {
private Button btnadd,btnselect;
private EditText etmiles,etdate,etcosts,etprice;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnadd=(Button)findViewById(R.id.add);
btnselect=(Button)findViewById(R.id.select);
etmiles=(EditText)findViewById(R.id.miles);
etdate=(EditText)findViewById(R.id.date);
etprice=(EditText)findViewById(R.id.price);
etcosts=(EditText)findViewById(R.id.costs);
db=SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString() + "/my.db3", null);
btnselect.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent=new Intent(MainActivity.this,Activity02.class);
startActivity(intent);
}
});
btnadd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String amiles=etmiles.getText().toString();
String sdate=etdate.getText().toString();
String sprice=etprice.getText().toString();
String acosts=etcosts.getText().toString();
if(etmiles.getText().toString().length() == 0||etdate.getText().toString().length() == 0||etprice.getText().toString().length() == 0||etcosts.getText().toString().length() == 0)
{
Toast toast=Toast.makeText(MainActivity.this, "xxxx", Toast.LENGTH_SHORT);
toast.show();
return;
}
else
{
try{
db.execSQL("insert into test1('" + sdate + "','" + amiles + "','" + sprice + "','" + acosts + "')");
}
catch(SQLiteException e)
{
db.execSQL("create table if not exists test1(sdate varchar(40) primary key,amiles varchar(30),sprice varchar(30),acosts varchar(30))");
}
Toast toast=Toast.makeText(MainActivity.this, "xxxx", Toast.LENGTH_SHORT);
toast.show();
}
}
});
}
}
错误消息:near“)”:语法错误您的
INSERT
语句似乎与SQLite的语法不匹配。尝试添加值
如下所示:
INSERT INTO test1 VALUES (..., ..., ...)
在Android上你应该考虑这个方法。 你应该使用
其中table是要插入的表的名称,nullColumnHack
它是可选的,可以为null,values是包含要插入的值的映射。此映射的键是列名。例如
ContentValues values = new ContentValues();
values.put(HISTORY_ORDER_ID_COL, orderId);
values.put(HISTORY_PRODUCT_ID_COL, productId);
long rowId = db.insert(TABLE_ORDER, null, values);
android将负责为您编写插入查询