ContentValuesを使用してデータを挿入する方法とSQLlite(Android)にRaw SQLを使用してデータを挿入する方法の違いを知りたいのですが、コンテンツの値を使用する利点はありますか?二つの異なる方法がある操作を、挿入を実行読み、削除、更新するにはSQLite AndroidにContentValuesとRaw SQLを使用してデータを挿入する方法の違いは何ですか?
答えて
:これらの:
- が
- は生のクエリ
パラメータ化クエリを書く(推奨)パラメータ化クエリを書きますデータの挿入、読み取り、削除、または更新のために組み込み関数を使用して実行されるクエリです。これらの操作に関連する機能は、SQLiteDatabase
クラスで提供されています。
生クエリ:これらは、この場合、ユーザーはなどのMySQL、SQL Serverのような他のデータベースと同様の単純なSQLクエリは、テキストとしてクエリを記述する必要がありますされ、操作を実行するrawQuery(String sql,String [] selectionArgs)
またはexecSQL(String sql,Object [] bindArgs)
方法でクエリ文字列を渡されました。
重要な注意:Androidのドキュメントには、挿入を実行するために、生のクエリを使用することをお勧めします、読み取り、更新、削除の操作を、常にSQLiteDatabase
クラスの挿入を使用し、クエリ、更新、機能を削除しないでください。続き
は、データを挿入するために、生のクエリの例です:
public void insertItem(Item item) {
String query = "INSERT INTO " + ItemTable.NAME + " VALUES (0,?,?)";
SQLiteDatabase db = getWritableDatabase();
db.execSQL(query, new String[]{item.name, item.description});
db.close();
}
生のクエリを使用している間、我々はパラメータ化クエリが値をの成功または失敗のために返される機能がで、操作の結果を知るようになったことがありません操作。
:parameterized query
を使用して挿入操作を実行するには、SQLiteDatabaseクラスで使用可能な挿入関数を呼び出す必要があります。 insert()
関数は、public long insert(String tableName,String nullColumnHack,ContentValues values)
のような3つのパラメータを持ちます。ここで、tableName
は、挿入するデータの名前です。ここで
は簡単な例です。詳細については
//Item is a class representing any item with id, name and description.
public void addItem(Item item) {
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("name",item.name);
// name - column
contentValues.put("description",item.description);
// description is column in items table, item.description has value for description
db.insert("Items", null, contentValues);//Items is table name
db.close();
}
この答えが間違っているこのLink
を参照してください。 'rawQuery'と' execSQL'はパラメータ化できます。これは 'selectionArgs' /' bindArgs'のためのものです。 –
「生のクエリ」をパラメータ化することはできません。 – rafsanahmad007
"パラメータ化されたクエリ"はパラメータを持つクエリなので、この名前は(つまり、文字列を返す)他の関数をより良く適合させるでしょう( 'insert'はパラメータ*を明示的に使っていない*)。これらの関数については、より適切な説明を使用する必要があります。 –
- 1. ContentValuesを使用してSQLite DBに挿入できません
- 2. ionicを使用してSQLiteにデータを挿入する方法
- 3. BigIntegerデータ型でContentValuesを使用しているSQLite?
- 4. 私はcontentValuesでデータをandroidでデータベースに挿入しようとしています
- 5. ContentValuesを使用してFOREIGN KEYフィールドに挿入する
- 6. MatlabとSQLクエリを使用してBLOBデータをSQLiteデータベースフィールドに挿入します。何か案が?
- 7. Xamarin Android C#:SQLiteデータベースのデータを使用してListViewカスタム行にデータを挿入
- 8. Sqlite - 行を選択し、挿入して使用する方法
- 9. SQLiteデータベースにデータを挿入する正しい方法iPhone
- 10. getterとsetterを使用してSQLiteでデータベースにデータを挿入する
- 11. Android StudioでSQLiteを使用してダミーデータを挿入するとクラッシュするアプリケーション
- 12. sqliteを使用してデータ表示ボタンを挿入して取得する方法
- 13. android sqliteデータベースに大量のデータを挿入していますか?
- 14. Android SQLiteデータの挿入
- 15. sqliteを使用してテーブルにデータを挿入しようとするとAndroidアプリが終了する
- 16. ボタンの引数 'command'を使用してsqliteにデータを挿入するとき
- 17. Django:executemanyとMySQLでのカスタムraw SQL挿入の使用
- 18. SQLiteにデータを挿入するには?
- 19. Raw SQL 'ASPに挿入' MVC
- 20. ループを使用してテーブルにデータを挿入する方法?
- 21. VB.NETを使用してホスティングデータベースにデータを挿入する方法
- 22. TCPDFを使用してpdfにデータを挿入する方法
- 23. GsonデータをAndroid Sqliteに挿入
- 24. チェックボックスを使用してデータベースにデータを挿入する方法は?
- 25. SQLiteを使用してIDを自動インクリメントしないでデータを挿入する方法
- 26. SQLクエリを使用してセサミデータベースにデータを挿入する
- 27. HL7メッセージを使用してSQL Serverにデータを挿入する
- 28. 2つのデータベースからデータをフェッチして、SQLを使用して一時テーブルに挿入する方法は?
- 29. SQL標準でSSISデータをエクスポートし、SQL Expressで一括挿入を使用してインポートする方法は?
- 30. レルムにデータを挿入する方が良い方法は何ですか?
https://developer.android.com/reference/android/content/ContentValues.html –