사람들이 다른 사람들에게 점수를주는 앱을 만들고 있습니다. 이를 위해, 나는 앱을 설치하는 동안 데이터베이스에 누군가의 이름 (예를 들어 5)을 삽입하고 싶다. 이제 앱을 처음 실행하면 모든 것이 잘됩니다. 하지만 두 번째 실행하면 데이터가 다시 삽입되어 10, 즉 중복 데이터가 생성됩니다. 문제는이 액티비티를 실행할 때마다 데이터를 추가한다는 것입니다. 이 문제의 해결책은 무엇입니까? 나는 당신의 문제 권리를 얻는 경우에중복 데이터 문제 android sqlite
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class GamePlay extends ActionBarActivity {
//Some code-----------
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gameplay);
//Some code----
db=openOrCreateDatabase("MyGameData", MODE_PRIVATE, null);
try{
db.execSQL("create table teachers(_id integer primary key autoincrement , name varchar(30) , gender varchar(2) , score integer)");
Toast.makeText(this, "Table created", Toast.LENGTH_SHORT).show();
}
catch(Exception e){
Toast.makeText(this, "Exception 1", Toast.LENGTH_SHORT).show();
Log.i("Create table", e.getMessage());
}
// Insert values in table-------
String str_name[]={"arun", "dhanraj", "decoder", "sanjana"};
String str_gender[]={"m", "m", "m", "f"};
ContentValues cv = new ContentValues();
for(int i=0; i<str_name.length; i++){
cv.put("name", str_name[i]);
cv.put("gender", str_gender[i]);
db.insert("teachers", null, cv);
}
//Some code------
. 이미 존재하는 경우 기존 데이터를 확인 ** 업데이트 **합니다. ** ** 새로운 레코드를 INSERT **하여 db의 정보를 복제합니다. –
@DerGolem : 설치 중에 새 데이터를 삽입하고 싶습니다. 처음에는 데이터가 없습니다. 그래서 INSERT를 사용합니다. 업데이트는 또 다른 프로세스입니다. 그렇다면 이름과 성별은 어떻게 삽입해야합니까? – Decoder
사용자가 있는지 다른 쿼리를 통해 확인한 다음 Der Golem이 말한 것을 수행하고 데이터를 업데이트하십시오. –