仅允许在“创建table operation_table”中的整数主键上进行自动启动
我在数据库中添加数据时有问题 当我按添加应用程序进行tosecond Active以及我再次尝试应用程序crush时,我从第二个活动中插入数据的编辑文本是在第二个活动中。
请帮助!!!
在SQL Data Healper类上
public void onCreate(SQLiteDatabase db) {
String createTableStatement = "CREATE TABLE " + OPERATION_TABLE + " ("+" ID INTGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_OPERATION_NAME + " TEXT, " + COLUMN_OPERATION_AMOUNT + " TEXT, " + COLUMN_OPERATION_DESCRIPTION + " TEXT, " + COLUMN_OPERATION_IS_INCOME + " BOOL, " + COLUMN_DATE + " TEXT )";
db.execSQL(createTableStatement);
}
这
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Operation operation;
try {
operation = new Operation(-1, nameOfOperation.getText().toString(), amount.getText().toString(), description.getText().toString(), income.isChecked(), dateOfOperation.getText().toString());
editTextClean();
Toast.makeText(InsertActivity.this, "the operation is saved " + operation.toString(), Toast.LENGTH_SHORT).show();
}catch (Exception e){
Toast.makeText(InsertActivity.this, "Error creating customer" , Toast.LENGTH_SHORT).show();
operation = new Operation(-1,"error", "error", "eror", true, "date error");
}
DataBaseHelper dataBaseHelper = new DataBaseHelper(InsertActivity.this);
boolean success =dataBaseHelper.addOne(operation);
Toast.makeText(InsertActivity.this, "Success= "+success, Toast.LENGTH_LONG).show();
}
});
是
public boolean addOne(Operation operation){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv =new ContentValues();
cv.put(COLUMN_OPERATION_NAME,operation.getName());
cv.put(COLUMN_DATE,operation.getDate());
cv.put(COLUMN_OPERATION_AMOUNT,operation.getAmount());
cv.put(COLUMN_OPERATION_DESCRIPTION,operation.getDescription());
cv.put(COLUMN_OPERATION_IS_INCOME,operation.isIncome());
long insert = db.insert(OPERATION_TABLE, null, cv);
if(insert ==-1){
return false;
}else {
return true;
}
}
I'm have problem with adding a data to data base
the edit text that I insert the data from is in second activity when I press add the app goes tosecond activity and when i try again the app crush.
HELP PLEASE!!!
this on sql data Healper class
public void onCreate(SQLiteDatabase db) {
String createTableStatement = "CREATE TABLE " + OPERATION_TABLE + " ("+" ID INTGER PRIMARY KEY AUTOINCREMENT, " + COLUMN_OPERATION_NAME + " TEXT, " + COLUMN_OPERATION_AMOUNT + " TEXT, " + COLUMN_OPERATION_DESCRIPTION + " TEXT, " + COLUMN_OPERATION_IS_INCOME + " BOOL, " + COLUMN_DATE + " TEXT )";
db.execSQL(createTableStatement);
}
this a click listener in the activate:
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Operation operation;
try {
operation = new Operation(-1, nameOfOperation.getText().toString(), amount.getText().toString(), description.getText().toString(), income.isChecked(), dateOfOperation.getText().toString());
editTextClean();
Toast.makeText(InsertActivity.this, "the operation is saved " + operation.toString(), Toast.LENGTH_SHORT).show();
}catch (Exception e){
Toast.makeText(InsertActivity.this, "Error creating customer" , Toast.LENGTH_SHORT).show();
operation = new Operation(-1,"error", "error", "eror", true, "date error");
}
DataBaseHelper dataBaseHelper = new DataBaseHelper(InsertActivity.this);
boolean success =dataBaseHelper.addOne(operation);
Toast.makeText(InsertActivity.this, "Success= "+success, Toast.LENGTH_LONG).show();
}
});
and this the add method
public boolean addOne(Operation operation){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv =new ContentValues();
cv.put(COLUMN_OPERATION_NAME,operation.getName());
cv.put(COLUMN_DATE,operation.getDate());
cv.put(COLUMN_OPERATION_AMOUNT,operation.getAmount());
cv.put(COLUMN_OPERATION_DESCRIPTION,operation.getDescription());
cv.put(COLUMN_OPERATION_IS_INCOME,operation.isIncome());
long insert = db.insert(OPERATION_TABLE, null, cv);
if(insert ==-1){
return false;
}else {
return true;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论