为什么没有将值插入数据库?
Why the values are not being inserted in the database?
我的数据库代码是这样的。
public void addprofileinfo(HashMap<String, String> queryValues){
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("StudentName", queryValues.get("StudentName"));
values.put("RegistrationNo", queryValues.get("RegistrationNo"));
values.put("Faculty", queryValues.get("Faculty"));
values.put("TotalFeePaid", queryValues.get("TotalFeePaid"));
database.insert("FEE", null, values);
database.close();
和Activity代码是:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.insertfield);
editName=(EditText)findViewById(R.id.editTextName);
editFaculty=(EditText)findViewById(R.id.editTextfaculty);
editFee=(EditText)findViewById(R.id.editTexttotalfeepaid);
editRegid=(EditText)findViewById(R.id.editTextid);
保存 = (按钮) findViewById(R.id.buttonsave);
addData();
}
public void addData(){
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try{
HashMap<String, String> queryValuesMap = new HashMap<String, String>();
queryValuesMap.put("StudentName",editName.getText().toString());
queryValuesMap.put("Faculty", editFaculty.getText().toString());
queryValuesMap.put("TotalFee", editFee.getText().toString());
queryValuesMap.put("RegistrationNo", editRegid.getText().toString());
dbtools.addprofileinfo(queryValuesMap);
Toast.makeText(insertData.this, "Successful!!!", Toast.LENGTH_LONG).show();
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
dbtools.close();
insertData.this.finish();
}catch(Exception e){
Toast.makeText(insertData.this, e.getMessage(), Toast.LENGTH_LONG).show();
}}
});
显示已成功保存消息,但未在数据库中找到该值。请问这是为什么?
尝试输入:
dbtools.close();
insertData.this.finish();
之前:
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
dbtools.close();
insertData.this.finish();
这有效..
但是用起来更好
dbtools.close();
insertData.this.finish();
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
即关闭您的数据库并启动活动
我的数据库代码是这样的。
public void addprofileinfo(HashMap<String, String> queryValues){
SQLiteDatabase database = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("StudentName", queryValues.get("StudentName"));
values.put("RegistrationNo", queryValues.get("RegistrationNo"));
values.put("Faculty", queryValues.get("Faculty"));
values.put("TotalFeePaid", queryValues.get("TotalFeePaid"));
database.insert("FEE", null, values);
database.close();
和Activity代码是: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.insertfield); editName=(EditText)findViewById(R.id.editTextName); editFaculty=(EditText)findViewById(R.id.editTextfaculty); editFee=(EditText)findViewById(R.id.editTexttotalfeepaid); editRegid=(EditText)findViewById(R.id.editTextid); 保存 = (按钮) findViewById(R.id.buttonsave);
addData();
}
public void addData(){
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try{
HashMap<String, String> queryValuesMap = new HashMap<String, String>();
queryValuesMap.put("StudentName",editName.getText().toString());
queryValuesMap.put("Faculty", editFaculty.getText().toString());
queryValuesMap.put("TotalFee", editFee.getText().toString());
queryValuesMap.put("RegistrationNo", editRegid.getText().toString());
dbtools.addprofileinfo(queryValuesMap);
Toast.makeText(insertData.this, "Successful!!!", Toast.LENGTH_LONG).show();
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
dbtools.close();
insertData.this.finish();
}catch(Exception e){
Toast.makeText(insertData.this, e.getMessage(), Toast.LENGTH_LONG).show();
}}
});
显示已成功保存消息,但未在数据库中找到该值。请问这是为什么?
尝试输入:
dbtools.close();
insertData.this.finish();
之前:
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
dbtools.close();
insertData.this.finish();
这有效..
但是用起来更好
dbtools.close();
insertData.this.finish();
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
即关闭您的数据库并启动活动