Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 了解sqlite上的update命令_Java_Android_Sqlite - Fatal编程技术网

Java 了解sqlite上的update命令

Java 了解sqlite上的update命令,java,android,sqlite,Java,Android,Sqlite,我在理解SQLite的更新命令时遇到了一些困难 在我的示例中,我正在执行一个更新数据库,但如果出现错误,我将传递一条错误消息。如果用户试图更新不存在的记录,我不会收到错误消息 这是我的代码,首先是update命令,然后是我的调用: public long updateContact(String firstName, String lastName, String address, String city, String state, int zipCode, long mo

我在理解SQLite的更新命令时遇到了一些困难

在我的示例中,我正在执行一个更新数据库,但如果出现错误,我将传递一条错误消息。如果用户试图更新不存在的记录,我不会收到错误消息

这是我的代码,首先是update命令,然后是我的调用:

public long updateContact(String firstName, String lastName, String address, String city, String state, 
         int zipCode, long mobileNumber, long altNumber, String email) {
    ContentValues contactInfo = new ContentValues();
    contactInfo.put(KEY_FNAME, firstName);
    contactInfo.put(KEY_LNAME, lastName);
    contactInfo.put(KEY_ADDR, address);
    contactInfo.put(KEY_CITY, city);
    contactInfo.put(KEY_STATE, state);
    contactInfo.put(KEY_ZIP, zipCode);
    contactInfo.put(KEY_MOBILE, mobileNumber);
    contactInfo.put(KEY_ALT, altNumber);
    contactInfo.put(KEY_EMAIL, email);

    String where = "FIRSTNAME = '" + firstName + "' AND LASTNAME = '" + lastName + "'";

    return db.update(DATABASE_TABLE, contactInfo, where, null);
}
电话:

if (searchTerm.length() > 0) {
                        id = db.updateContact(fName, lName, address.getText().toString().trim(), 
                                    city.getText().toString().trim(), state.getSelectedItem().toString().trim(), Integer.parseInt(zip.getText().toString().trim()), 
                                    Long.valueOf(mobile.getText().toString().trim()), Long.valueOf(alternate.getText().toString().trim()), 
                                    email.getText().toString().trim());
                        if (id == -1) {
                            DisplayErrorDialog("I'm sorry, we can not update the contact with the present data.");
                        }
                    }
当我提供有效数据时,更新正在运行。但是,当我给它提供无效数据(数据库中没有的名称)时,我没有收到相应的错误消息。

来自:

返回
受影响的行数

因此,
db.update
将在未更新任何内容时返回0(即,
中的
与任何行都不匹配),而
updateContact
将返回0。因此,您可能希望将
id
重命名为
numberUpdated
(或类似名称),并在
numberUpdated上从以下位置显示错误:

返回
受影响的行数


因此,
db.update
将在未更新任何内容时返回0(即,
中的
与任何行都不匹配),而
updateContact
将返回0。因此,您可能希望将
id
重命名为
numberUpdated
(或类似)并在
numberUpdated上显示错误。返回值是更新的行数,而不是id。请检查0,而不是-1。这意味着您可能要更新多条记录,这是数据库更新通常的工作方式。

返回值是更新的行数,而不是id。请检查0,而不是-1。这意味着您可以更新多个记录,这是数据库更新通常的工作方式