我创建数据库时,我的应用程序崩溃了。这是我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_place_order);
//Step 1:Create DB and table
final SQLiteDatabase
db=openOrCreateDatabase("Test_db",MODE_PRIVATE,null);
String c_query="create table if not exists clients(sname text,add
text,order text,price text, ddate text)";
db.execSQL(c_query);
Toast.makeText(getBaseContext(),"DB and Table
created",Toast.LENGTH_LONG).show();
//Step 2: Object Declaration
final EditText sname=(EditText)findViewById(R.id.editText);
final EditText add=(EditText)findViewById(R.id.editText2);
final EditText order=(EditText)findViewById(R.id.editText3);
final EditText price=(EditText)findViewById(R.id.editText4);
final EditText ddate=(EditText)findViewById(R.id.editText5);
Button b=(Button)findViewById(R.id.button);
//Step 4:Click event of button
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Step 5: get the value of Objects
String ssname=sname.getText().toString();
String sadd=add.getText().toString();
String sorder=order.getText().toString();
String sprice=price.getText().toString();
String sddate=ddate.getText().toString();
//Step 6: Execute Insert query
String i_query= "insert into clients values ('"+ssname+"','"+sadd+"','"+sorder+"','"+sprice+"','"+sddate+"')";
db.execSQL(i_query);
Toast.makeText(getBaseContext(),"Record
Inserted",Toast.LENGTH_LONG).show();
}
});
}
答案 0 :(得分:1)
add
和order
为sqlite keywords,不能在没有引用的情况下用作列名。考虑重命名这些列。
答案 1 :(得分:0)
请使用下面提到的查询更新您的查询,它不会崩溃。
String c_query =“如果不存在客户端则创建表格(sname文本,'添加' 文本,'订单'文本,价格文本,日期文本)“;