为啥这些值没有被插入到数据库中?
Posted
技术标签:
【中文标题】为啥这些值没有被插入到数据库中?【英文标题】:Why the values are not being inserted in the database?为什么这些值没有被插入到数据库中? 【发布时间】:2016-04-25 18:24:21 【问题描述】:我的数据库代码如下所示。
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();
而活动代码是: 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); save = (Button) 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();
);
显示成功保存消息,但在数据库中未找到该值。请告诉为什么会这样?
【问题讨论】:
【参考方案1】:试一下:
dbtools.close();
insertData.this.finish();
之前:
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
【讨论】:
我做到了,但没有显示投票。我想是因为我的名声不好。【参考方案2】: Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
dbtools.close();
insertData.this.finish();
这行得通..
【讨论】:
【参考方案3】:但更好用
dbtools.close();
insertData.this.finish();
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
即关闭您的数据库并启动活动
【讨论】:
您的两个答案都令人满意,但我建议您将所有可能性都包含在一个答案中,以便用户在一个答案中找到各种答案。这肯定会产生很大的不同。以上是关于为啥这些值没有被插入到数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
为啥mysql中的timestamp类型的数据,没有插入也有数据