gpt4 book ai didi

java - (Android) 无法将数据插入SQLite数据库

转载 作者:行者123 更新时间:2023-12-02 04:34:07 25 4
gpt4 key购买 nike

我尝试了很多修复,但仍然无法找出为什么无法插入数据。我使用了一个名为 BD Browser for SQLite 的工具来检查数据,有表和列,但没有值。

代码:

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 的语法不匹配。尝试添加VALUES,如下所示:

INSERT INTO test1 VALUES (..., ..., ...)

事实上,在 Android 上您应该考虑 insert()方法代替。

关于java - (Android) 无法将数据插入SQLite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com