Most visited

Recently visited

Added in API level 1

DatabaseUtils

public class DatabaseUtils
extends Object

java.lang.Object
   ↳ android.database.DatabaseUtils


用于处理数据库的静态实用方法和 Cursor

Summary

Nested classes

class DatabaseUtils.InsertHelper

此类已在API级别17中弃用。请改用SQLiteStatement

Constants

int STATEMENT_ABORT

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_ATTACH

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_BEGIN

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_COMMIT

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_DDL

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_OTHER

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_PRAGMA

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_SELECT

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_UNPREPARED

其中一个值由 getSqlStatementType(String)返回。

int STATEMENT_UPDATE

其中一个值由 getSqlStatementType(String)返回。

Public constructors

DatabaseUtils()

Public methods

static void appendEscapedSQLString(StringBuilder sb, String sqlString)

将SQL字符串附加到给定的StringBuilder,包括打开和关闭单引号。

static String[] appendSelectionArgs(String[] originalValues, String[] newValues)

将一组选择参数附加到另一组。

static final void appendValueToSql(StringBuilder sql, Object value)

通过正确的转义等将一个对象附加到SQL字符串中

static void bindObjectToProgram(SQLiteProgram prog, int index, Object value)

使用正确的输入将给定的Object绑定到给定的SQLiteProgram。

static ParcelFileDescriptor blobFileDescriptorForQuery(SQLiteStatement prog, String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的blob值。

static ParcelFileDescriptor blobFileDescriptorForQuery(SQLiteDatabase db, String query, String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的blob值。

static String concatenateWhere(String a, String b)

连接两个SQL WHERE子句,处理空值或空值。

static void createDbFromSqlStatements(Context context, String dbName, int dbVersion, String sqlStatements)

创建一个db并用sqlStatements中的sql语句填充它。

static void cursorDoubleToContentValues(Cursor cursor, String field, ContentValues values, String key)

在Cursor中的字段中读取Double并将其写入Map。

static void cursorDoubleToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取Double并将其写入ContentValues。

static void cursorDoubleToCursorValues(Cursor cursor, String field, ContentValues values)

在Cursor中的字段中读取Double并将其写入Map。

static void cursorFloatToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取Float并将其写入ContentValues。

static void cursorIntToContentValues(Cursor cursor, String field, ContentValues values, String key)

从光标中的字段中读取整数并将其写入地图。

static void cursorIntToContentValues(Cursor cursor, String field, ContentValues values)

从游标中的字段中读取整数并将其写入地图。

static void cursorIntToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取整数并将其写入ContentValues。

static void cursorLongToContentValues(Cursor cursor, String field, ContentValues values, String key)

从Cursor中的字段中读取Long并将其写入Map。

static void cursorLongToContentValues(Cursor cursor, String field, ContentValues values)

从Cursor中的字段中读取Long并将其写入Map。

static void cursorLongToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取Long并将其写入ContentValues。

static void cursorRowToContentValues(Cursor cursor, ContentValues values)

读取游标行的全部内容并将它们存储在ContentValues中。

static void cursorShortToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取Short并将其写入ContentValues。

static void cursorStringToContentValues(Cursor cursor, String field, ContentValues values, String key)

从光标中的字段中读取一个字符串并将其写入一个Map。

static void cursorStringToContentValues(Cursor cursor, String field, ContentValues values)

从光标中的字段中读取一个字符串并将其写入一个Map。

static void cursorStringToContentValuesIfPresent(Cursor cursor, ContentValues values, String column)

从Cursor的列中读取一个字符串并将其写入ContentValues。

static void cursorStringToInsertHelper(Cursor cursor, String field, DatabaseUtils.InsertHelper inserter, int index)

从光标中的字段中读取一个字符串并将其写入InsertHelper。

static void dumpCurrentRow(Cursor cursor, StringBuilder sb)

将光标当前行的内容打印到StringBuilder。

static void dumpCurrentRow(Cursor cursor, PrintStream stream)

将光标当前行的内容打印到PrintSteam。

static void dumpCurrentRow(Cursor cursor)

将光标当前行的内容打印到System.out。

static String dumpCurrentRowToString(Cursor cursor)

将Cursor当前行的内容转储到String。

static void dumpCursor(Cursor cursor, PrintStream stream)

将光标的内容打印到PrintSteam。

static void dumpCursor(Cursor cursor)

将光标的内容打印到System.out。

static void dumpCursor(Cursor cursor, StringBuilder sb)

将光标的内容打印到StringBuilder。

static String dumpCursorToString(Cursor cursor)

将光标的内容打印到字符串。

static String getCollationKey(String name)

返回整理键

static String getHexCollationKey(String name)

以十六进制格式返回整理键

static int getSqlStatementType(String sql)

返回表示给定SQL语句类型的以下内容之一。

static long longForQuery(SQLiteDatabase db, String query, String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的值。

static long longForQuery(SQLiteStatement prog, String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。

static long queryNumEntries(SQLiteDatabase db, String table, String selection)

查询表格中表格的行数。

static long queryNumEntries(SQLiteDatabase db, String table, String selection, String[] selectionArgs)

查询表格中表格的行数。

static long queryNumEntries(SQLiteDatabase db, String table)

查询表格中表格的行数。

static final void readExceptionFromParcel(Parcel reply)

用于从包裹头部读取异常结果的特殊功能,用于在收到交易结果后使用。

static void readExceptionWithFileNotFoundExceptionFromParcel(Parcel reply)
static void readExceptionWithOperationApplicationExceptionFromParcel(Parcel reply)
static String sqlEscapeString(String value)

SQL转义字符串。

static String stringForQuery(SQLiteDatabase db, String query, String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的值。

static String stringForQuery(SQLiteStatement prog, String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。

static final void writeExceptionToParcel(Parcel reply, 异常 e)

用于在包裹头部写入异常结果的特殊功能,用于从事务中返回异常时使用。

Inherited methods

From class java.lang.Object

Constants

STATEMENT_ABORT

Added in API level 11
int STATEMENT_ABORT

其中一个值由 getSqlStatementType(String)返回。

常数值:6(0x00000006)

STATEMENT_ATTACH

Added in API level 11
int STATEMENT_ATTACH

其中一个值由 getSqlStatementType(String)返回。

常量值:3(0x00000003)

STATEMENT_BEGIN

Added in API level 11
int STATEMENT_BEGIN

其中一个值由 getSqlStatementType(String)返回。

常量值:4(0x00000004)

STATEMENT_COMMIT

Added in API level 11
int STATEMENT_COMMIT

其中一个值由 getSqlStatementType(String)返回。

常量值:5(0x00000005)

STATEMENT_DDL

Added in API level 11
int STATEMENT_DDL

其中一个值由 getSqlStatementType(String)返回。

常量值:8(0x00000008)

STATEMENT_OTHER

Added in API level 11
int STATEMENT_OTHER

其中一个值由 getSqlStatementType(String)返回。

常量值:99(0x00000063)

STATEMENT_PRAGMA

Added in API level 11
int STATEMENT_PRAGMA

其中一个值由 getSqlStatementType(String)返回。

常量值:7(0x00000007)

STATEMENT_SELECT

Added in API level 11
int STATEMENT_SELECT

getSqlStatementType(String)返回的其中一个值。

常数值:1(0x00000001)

STATEMENT_UNPREPARED

Added in API level 11
int STATEMENT_UNPREPARED

其中一个值由 getSqlStatementType(String)返回。

常量值:9(0x00000009)

STATEMENT_UPDATE

Added in API level 11
int STATEMENT_UPDATE

其中一个值由 getSqlStatementType(String)返回。

常量值:2(0x00000002)

Public constructors

DatabaseUtils

Added in API level 1
DatabaseUtils ()

Public methods

appendEscapedSQLString

Added in API level 1
void appendEscapedSQLString (StringBuilder sb, 
                String sqlString)

将SQL字符串附加到给定的StringBuilder,包括打开和关闭单引号。 sqlString内部的任何单引号都将被转义。 此方法已被弃用,因为我们希望鼓励大家使用“?” 绑定形式。 但是,在实现ContentProvider时,可能需要添加调用者未提供的WHERE子句。 由于“?” 是一个位置形式,在这种情况下使用它可能会打破调用者,因为索引将被移动以适应ContentProvider的内部绑定。 在这种情况下,可能需要手动构建WHERE子句。 这种方法对于这些情况很有用。

Parameters
sb StringBuilder: the StringBuilder that the SQL string will be appended to
sqlString String: the raw string to be appended, which may contain single quotes

appendSelectionArgs

Added in API level 11
String[] appendSelectionArgs (String[] originalValues, 
                String[] newValues)

将一组选择参数附加到另一组。 将选择参数添加到用户提供的集合时非常有用。

Parameters
originalValues String
newValues String
Returns
String[]

appendValueToSql

Added in API level 1
void appendValueToSql (StringBuilder sql, 
                Object value)

通过正确的转义等将一个对象附加到SQL字符串中

Parameters
sql StringBuilder
value Object

bindObjectToProgram

Added in API level 1
void bindObjectToProgram (SQLiteProgram prog, 
                int index, 
                Object value)

使用正确的输入将给定的Object绑定到给定的SQLiteProgram。 例如,通过在其上调用toString()将数字绑定为long / double和其他所有内容。

Parameters
prog SQLiteProgram: the program to bind the object to
index int: the 1-based index to bind at
value Object: the value to bind

blobFileDescriptorForQuery

Added in API level 11
ParcelFileDescriptor blobFileDescriptorForQuery (SQLiteStatement prog, 
                String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的blob值。

Parameters
prog SQLiteStatement
selectionArgs String
Returns
ParcelFileDescriptor A read-only file descriptor for a copy of the blob value.

blobFileDescriptorForQuery

Added in API level 11
ParcelFileDescriptor blobFileDescriptorForQuery (SQLiteDatabase db, 
                String query, 
                String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的blob值。

Parameters
db SQLiteDatabase
query String
selectionArgs String
Returns
ParcelFileDescriptor A read-only file descriptor for a copy of the blob value.

concatenateWhere

Added in API level 11
String concatenateWhere (String a, 
                String b)

连接两个SQL WHERE子句,处理空值或空值。

Parameters
a String
b String
Returns
String

createDbFromSqlStatements

Added in API level 1
void createDbFromSqlStatements (Context context, 
                String dbName, 
                int dbVersion, 
                String sqlStatements)

创建一个db并用sqlStatements中的sql语句填充它。

Parameters
context Context: the context to use to create the db
dbName String: the name of the db to create
dbVersion int: the version to set on the db
sqlStatements String: the statements to use to populate the db. This should be a single string of the form returned by sqlite3's .dump command (statements separated by semicolons)

cursorDoubleToContentValues

Added in API level 1
void cursorDoubleToContentValues (Cursor cursor, 
                String field, 
                ContentValues values, 
                String key)

在Cursor中的字段中读取Double并将其写入Map。

Parameters
cursor Cursor: The cursor to read from
field String: The REAL field to read
values ContentValues: The ContentValues to put the value into
key String: The key to store the value with in the map

cursorDoubleToContentValuesIfPresent

Added in API level 8
void cursorDoubleToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取Double并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorDoubleToCursorValues

Added in API level 1
void cursorDoubleToCursorValues (Cursor cursor, 
                String field, 
                ContentValues values)

在Cursor中的字段中读取Double并将其写入Map。

Parameters
cursor Cursor: The cursor to read from
field String: The REAL field to read
values ContentValues: The ContentValues to put the value into

cursorFloatToContentValuesIfPresent

Added in API level 8
void cursorFloatToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取Float并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorIntToContentValues

Added in API level 1
void cursorIntToContentValues (Cursor cursor, 
                String field, 
                ContentValues values, 
                String key)

从光标中的字段中读取整数并将其写入地图。

Parameters
cursor Cursor: The cursor to read from
field String: The INTEGER field to read
values ContentValues: The ContentValues to put the value into, with the field as the key
key String: The key to store the value with in the map

cursorIntToContentValues

Added in API level 1
void cursorIntToContentValues (Cursor cursor, 
                String field, 
                ContentValues values)

从游标中的字段中读取整数并将其写入地图。

Parameters
cursor Cursor: The cursor to read from
field String: The INTEGER field to read
values ContentValues: The ContentValues to put the value into, with the field as the key

cursorIntToContentValuesIfPresent

Added in API level 8
void cursorIntToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取整数并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorLongToContentValues

Added in API level 1
void cursorLongToContentValues (Cursor cursor, 
                String field, 
                ContentValues values, 
                String key)

从Cursor中的字段中读取Long并将其写入Map。

Parameters
cursor Cursor: The cursor to read from
field String: The INTEGER field to read
values ContentValues: The ContentValues to put the value into
key String: The key to store the value with in the map

cursorLongToContentValues

Added in API level 1
void cursorLongToContentValues (Cursor cursor, 
                String field, 
                ContentValues values)

从Cursor中的字段中读取Long并将其写入Map。

Parameters
cursor Cursor: The cursor to read from
field String: The INTEGER field to read
values ContentValues: The ContentValues to put the value into, with the field as the key

cursorLongToContentValuesIfPresent

Added in API level 8
void cursorLongToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取Long并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorRowToContentValues

Added in API level 1
void cursorRowToContentValues (Cursor cursor, 
                ContentValues values)

读取游标行的全部内容并将它们存储在ContentValues中。

Parameters
cursor Cursor: the cursor to read from.
values ContentValues: the ContentValues to put the row into.

cursorShortToContentValuesIfPresent

Added in API level 8
void cursorShortToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取Short并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorStringToContentValues

Added in API level 1
void cursorStringToContentValues (Cursor cursor, 
                String field, 
                ContentValues values, 
                String key)

从光标中的字段中读取一个字符串并将其写入一个Map。

Parameters
cursor Cursor: The cursor to read from
field String: The TEXT field to read
values ContentValues: The ContentValues to put the value into, with the field as the key
key String: The key to store the value with in the map

cursorStringToContentValues

Added in API level 1
void cursorStringToContentValues (Cursor cursor, 
                String field, 
                ContentValues values)

从光标中的字段中读取一个字符串并将其写入一个Map。

Parameters
cursor Cursor: The cursor to read from
field String: The TEXT field to read
values ContentValues: The ContentValues to put the value into, with the field as the key

cursorStringToContentValuesIfPresent

Added in API level 8
void cursorStringToContentValuesIfPresent (Cursor cursor, 
                ContentValues values, 
                String column)

从Cursor的列中读取一个字符串并将其写入ContentValues。 如果该列不存在或者其值为空,则不向ContentValues添加任何内容。

Parameters
cursor Cursor: The cursor to read from
values ContentValues: The ContentValues to put the value into
column String: The column to read

cursorStringToInsertHelper

Added in API level 1
void cursorStringToInsertHelper (Cursor cursor, 
                String field, 
                DatabaseUtils.InsertHelper inserter, 
                int index)

从光标中的字段中读取一个字符串并将其写入InsertHelper。

Parameters
cursor Cursor: The cursor to read from
field String: The TEXT field to read
inserter DatabaseUtils.InsertHelper: The InsertHelper to bind into
index int: the index of the bind entry in the InsertHelper

dumpCurrentRow

Added in API level 1
void dumpCurrentRow (Cursor cursor, 
                StringBuilder sb)

将光标当前行的内容打印到StringBuilder。

Parameters
cursor Cursor: the cursor to print
sb StringBuilder: the StringBuilder to print to

dumpCurrentRow

Added in API level 1
void dumpCurrentRow (Cursor cursor, 
                PrintStream stream)

将光标当前行的内容打印到PrintSteam。

Parameters
cursor Cursor: the cursor to print
stream PrintStream: the stream to print to

dumpCurrentRow

Added in API level 1
void dumpCurrentRow (Cursor cursor)

将光标当前行的内容打印到System.out。

Parameters
cursor Cursor: the cursor to print from

dumpCurrentRowToString

Added in API level 1
String dumpCurrentRowToString (Cursor cursor)

将Cursor当前行的内容转储到String。

Parameters
cursor Cursor: the cursor to print
Returns
String a String that contains the dumped cursor row

dumpCursor

Added in API level 1
void dumpCursor (Cursor cursor, 
                PrintStream stream)

将光标的内容打印到PrintSteam。 打印后位置恢复。

Parameters
cursor Cursor: the cursor to print
stream PrintStream: the stream to print to

dumpCursor

Added in API level 1
void dumpCursor (Cursor cursor)

将光标的内容打印到System.out。 打印后位置恢复。

Parameters
cursor Cursor: the cursor to print

dumpCursor

Added in API level 1
void dumpCursor (Cursor cursor, 
                StringBuilder sb)

将光标的内容打印到StringBuilder。 打印后位置恢复。

Parameters
cursor Cursor: the cursor to print
sb StringBuilder: the StringBuilder to print to

dumpCursorToString

Added in API level 1
String dumpCursorToString (Cursor cursor)

将光标的内容打印到字符串。 打印后位置恢复。

Parameters
cursor Cursor: the cursor to print
Returns
String a String that contains the dumped cursor

getCollationKey

Added in API level 1
String getCollationKey (String name)

返回整理键

Returns
String the collation key

getHexCollationKey

Added in API level 1
String getHexCollationKey (String name)

以十六进制格式返回整理键

Returns
String the collation key in hex format

getSqlStatementType

Added in API level 11
int getSqlStatementType (String sql)

返回表示给定SQL语句类型的以下内容之一。

  1. STATEMENT_SELECT
  2. STATEMENT_UPDATE
  3. STATEMENT_ATTACH
  4. STATEMENT_BEGIN
  5. STATEMENT_COMMIT
  6. STATEMENT_ABORT
  7. STATEMENT_OTHER

Parameters
sql String: the SQL statement whose type is returned by this method
Returns
int one of the values listed above

longForQuery

Added in API level 1
long longForQuery (SQLiteDatabase db, 
                String query, 
                String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的值。

Parameters
db SQLiteDatabase
query String
selectionArgs String
Returns
long

longForQuery

Added in API level 1
long longForQuery (SQLiteStatement prog, 
                String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。

Parameters
prog SQLiteStatement
selectionArgs String
Returns
long

queryNumEntries

Added in API level 11
long queryNumEntries (SQLiteDatabase db, 
                String table, 
                String selection)

查询表格中表格的行数。

Parameters
db SQLiteDatabase: the database the table is in
table String: the name of the table to query
selection String: A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will count all rows for the given table
Returns
long the number of rows in the table filtered by the selection

queryNumEntries

Added in API level 11
long queryNumEntries (SQLiteDatabase db, 
                String table, 
                String selection, 
                String[] selectionArgs)

查询表格中表格的行数。

Parameters
db SQLiteDatabase: the database the table is in
table String: the name of the table to query
selection String: A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will count all rows for the given table
selectionArgs String: You may include ?s in selection, which will be replaced by the values from selectionArgs, in order that they appear in the selection. The values will be bound as Strings.
Returns
long the number of rows in the table filtered by the selection

queryNumEntries

Added in API level 1
long queryNumEntries (SQLiteDatabase db, 
                String table)

查询表格中表格的行数。

Parameters
db SQLiteDatabase: the database the table is in
table String: the name of the table to query
Returns
long the number of rows in the table

readExceptionFromParcel

Added in API level 1
void readExceptionFromParcel (Parcel reply)

用于从包裹头部读取异常结果的特殊功能,用于在收到交易结果后使用。 如果它已被写入包裹,这将为您抛出异常,否则返回并让您从包中读取正常结果数据。

Parameters
reply Parcel: Parcel to read from

也可以看看:

readExceptionWithFileNotFoundExceptionFromParcel

Added in API level 1
void readExceptionWithFileNotFoundExceptionFromParcel (Parcel reply)

Parameters
reply Parcel
Throws
FileNotFoundException

readExceptionWithOperationApplicationExceptionFromParcel

Added in API level 5
void readExceptionWithOperationApplicationExceptionFromParcel (Parcel reply)

Parameters
reply Parcel
Throws
OperationApplicationException

sqlEscapeString

Added in API level 1
String sqlEscapeString (String value)

SQL转义字符串。

Parameters
value String
Returns
String

stringForQuery

Added in API level 1
String stringForQuery (SQLiteDatabase db, 
                String query, 
                String[] selectionArgs)

实用程序方法在db上运行查询并返回第一行第一列中的值。

Parameters
db SQLiteDatabase
query String
selectionArgs String
Returns
String

stringForQuery

Added in API level 1
String stringForQuery (SQLiteStatement prog, 
                String[] selectionArgs)

用于运行预编译查询的实用程序方法,并返回第一行第一列中的值。

Parameters
prog SQLiteStatement
selectionArgs String
Returns
String

writeExceptionToParcel

Added in API level 1
void writeExceptionToParcel (Parcel reply, 
                异常 e)

用于在包裹头部写入异常结果的特殊功能,用于从事务中返回异常时使用。 异常将在另一个进程中被该函数重新抛出

Parameters
reply Parcel: Parcel to write to
e 异常: The Exception to be written.

也可以看看:

Hooray!