我正在制作一个用于插入数据的应用。但是,当我单击“添加”按钮时,会提供所有详细信息。应用程序使我返回上一页 这是我创建插入类的方式
public class InsertStudent extends AppCompatActivity {
Button instudent;
DBHelper dbHelper;
EditText sName,sDOB,sAddress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_insert_student);
instudent = findViewById(R.id.btninsert);
sName = findViewById(R.id.insertname);
sDOB = findViewById(R.id.insertdob)
;
sAddress = findViewById(R.id.insertaddress);
下面是我编码插入数据的方式
instudent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String userName = sName.getText().toString();
String dateB = sDOB.getText().toString();
String addr = sAddress.getText().toString();
boolean count = dbHelper.addInfo(userName,dateB,addr );
if(count =true){
Toast.makeText(InsertStudent.this, "Inserted!", Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(InsertStudent.this, "Something went wrong!", Toast.LENGTH_SHORT).show();
}
}
});
这是DBHelper类中的addinfo方法
public boolean addInfo(String stdName, String stdDOB, String stdAddress){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(UserProfile.Users.COLUMN_STDNAME, stdName);
contentValues.put(UserProfile.Users.COLUMN_DATEOFBIRTH, stdDOB);
contentValues.put(UserProfile.Users.TABLE_ADDRESS, stdAddress);
long result = sqLiteDatabase.insert(UserProfile.Users.TABLE_NAME, null, contentValues);
if(result==1)
return false;
else
return true;
}
}
答案 0 :(得分:0)
“ SQLiteDatabase”类的插入方法未返回 count,它返回插入行的ID。所以你在检查 如果返回结果为1,这是一个真实的过程,但这不是一种方法 检查插入方法。这意味着您需要检查是否有任何 返回结果,则您的插入操作成功执行,但是如果 出现问题,应用程序将崩溃。
确保已创建要在其中插入数据的表。