나는 안드로이드와 어쩌면 바보 같은 질문이 새로 생겼지 만 나는 그것을 얻지 못하고있다. 일부 사람에게 점수를주는 게임을 디자인하고 있습니다. 그래서 나는 사람들이 데이터베이스를 설치하는 동안 저장하고 그들의 점수를 처음에 0으로 설정하고 사용자가 선택한 것에 따라 업데이트 할 것입니다. 여기에 나는 그것이 약 100 명의 이름과 그들의 점수 일 것이므로 어떻게 데이터를 입력해야하는지 알 수 없다. INSERT INTO() 문을 사용하면 100 개의 명령문처럼 사용할 수 있습니다. 그래서 우리가 문자열 등으로 할 수있는 짧은 방법이 있습니다. 그냥 추측. 어떤 도움을 주시면 감사하겠습니다.많은 양의 데이터를 SQLite에 추가하십시오. android
답변
거래를 사용하는 것이 좋습니다. beginTransaction()
으로 트랜잭션을 사용하려는이 내용을 보관하고 에 모든 삽입을 반복하고 모든 것이 작동하면 setTransactionSuccessful()
을 호출하여 일괄 작업으로 처리 할 수 있습니다. 무언가 잘못되면 finally 섹션에서 성공을 설정하지 않고 endTransaction()을 호출합니다. 그러면 롤백이 실행됩니다.
db.beginTransaction();
try {
makeAllInserts();
db.setTransactionSuccessful();
}catch {
//Error in between database transaction
}finally {
db.endTransaction();
}
makeAllInserts 기능의 경우,이 같은 밖으로 일할 수 :
public void makeAllInserts() {
for(int i = 0; i < myData.size(); i++) {
myDataBase = openDatabase();
ContentValues values = new ContentValues();
values.put("name", myData.get(i).getName());
values.put("score", myData.get(i).getScore());
myDataBase.insert("MYTABLE", nullColumnHack, values);
}
}
당신은 또한 당신이 좋은 링크가 여기에 nullColumnHack에 대해 알고 싶다면 ->https://stackoverflow.com/a/2663620/709671
가 희망을 도움이됩니다.
SQL 문에 이름이나 점수를 하드 코딩하지 마십시오. 대신 매개 변수를 사용합니다.
var command = new SQLiteCommand()
command.CommandText = "INSERT INTO Scores (name, score) VALUES(@name, @score)";
command.CommandType = CommandType.Text;
foreach (var item in data)
{
command.Parameters.Add(new SQLiteParameter("@name", item.Name));
command.Parameters.Add(new SQLiteParameter("@score", item.Score));
command.ExecuteNonQuery();
}
모든 이름과 점수를 반복하면됩니다.
답장을위한 고맙습니다. 필자는 매개 변수의 개념을 모르기 때문에 이것이 어떻게 작동 하는지를 정확히 이해하지 못했습니다. 샘플 코드 또는 그와 비슷한 일부 문서 링크를 제공해 주실 수 있습니까? – Decoder
"SQLite 바인딩 매개 변수"에 대한 Google 검색을 수행하십시오. 위의 코드는 System.Data.SQLite와 C#을 사용합니다. 네가하는 방식은 C에서 다소 다르다. –
- 1. 많은 데이터를 안드로이드에서 sqlite에 삽입하십시오.
- 2. DB에 많은 양의 데이터로드 - Android
- 3. Android - 많은 양의 레이아웃 파일없이 데이터를 표시하는 가장 좋은 방법
- 4. 많은 양의 데이터를 Postgres Hstore로로드
- 5. 많은 양의 데이터를 각도로 처리하기
- 6. 데이터베이스에서 많은 양의 데이터를 pagedList에로드하십시오.
- 7. 많은 양의 데이터를 안드로이드에 캐싱합니다.
- 8. 많은 양의 데이터를 플로팅하는 ZedGraph
- 9. SQL에서 많은 양의 데이터를 삭제합니다.
- 10. 많은 양의 데이터를 쓰지 못했습니다.
- 11. Android 여러 데이터를 sqlite에 삽입
- 12. 많은 양의 데이터를 검색 할 때 Android OutOfMemoryError
- 13. Android Listivew : 많은 양의 데이터를 필터링 할 때 asyntask가 필요함/
- 14. Android - 다른 프로세스에서 실행중인 많은 양의 데이터를 전달하십시오
- 15. SQLite가 많은 양의 데이터를 처리 할 수 있습니까?
- 16. RDLC TextBox에 많은 양의 데이터를 표시하는 방법
- 17. 많은 양의 텍스트 데이터를 HTML 형식으로 입력하십시오.
- 18. 많은 양의 데이터를 업데이트하는 가장 빠른 방법
- 19. 데이터베이스의 많은 양의 데이터를 비교하는 방법은 무엇입니까?
- 20. 많은 양의 데이터를 페이지 매기기하는 적절한 방법
- 21. DB2에서 Oracle로 많은 양의 데이터를 전송합니까?
- 22. 많은 양의 데이터를 가져 오기위한 데이터베이스 설정
- 23. 많은 양의 엑셀 데이터를 MySQL 데이터베이스에 삽입하십시오.
- 24. 많은 양의 데이터를 복제 된 데이터베이스에 복사
- 25. 많은 양의 데이터를 효율적으로 Elasticseach-hadoop로 이동하십시오.
- 26. 많은 양의 데이터를 처리하는 각도/우수 사례
- 27. SQL에서 끝없이 많은 양의 데이터를 표시합니다.
- 28. 많은 양의 데이터를 내보내는 가장 효율적인 방법
- 29. 많은 양의 데이터를 사용하는 스윙 응용 프로그램
- 30. ServletOutputStream을 사용하여 많은 양의 데이터를 효율적으로 전송
고마워. 이 아이디어처럼. 그것은 나를 위해 일했습니다. 하지만 지금은 다른 문제가 있습니다. 당신은 확인하시기 바랍니다 : http://stackoverflow.com/questions/27259658/duplicate-data-issue-android-sqlite – Decoder
나는 @ Decoder, 다른 질문에 대답 듣고 기쁘게 생각합니다. 보세요 :) – axierjhtjz