Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.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
Android 比较文本变量不起作用_Android_Sqlite - Fatal编程技术网

Android 比较文本变量不起作用

Android 比较文本变量不起作用,android,sqlite,Android,Sqlite,当我尝试在Android SQLite DB上比较文本时,遇到了一些问题 我有这样一个问题: select * from myTable where _id='some.text.dots.are.really.there!' mDb.query(TABLE_TRANSACTIONS, TABLE_TRANSACTIONS_COLUMNS, COLUMN__ID + " = ?", new String[] {id }, null, null, null); myT

当我尝试在Android SQLite DB上比较文本时,遇到了一些问题

我有这样一个问题:

select * from myTable where _id='some.text.dots.are.really.there!'
mDb.query(TABLE_TRANSACTIONS, TABLE_TRANSACTIONS_COLUMNS, COLUMN__ID + " = ?", 
            new String[] {id }, null, null, null);
myTable是文本主键。我正在尝试选择并更新表中的一些数据。当我执行SELECT*时,存在并返回

带有where子句的Android代码如下所示:

select * from myTable where _id='some.text.dots.are.really.there!'
mDb.query(TABLE_TRANSACTIONS, TABLE_TRANSACTIONS_COLUMNS, COLUMN__ID + " = ?", 
            new String[] {id }, null, null, null);
但是

两者都不起作用。如何在Android上比较SQLite中的文本值?

SQLite在比较字符串时也会考虑文本大小写的大小写,因此可以使用COLLATE NOCASE,这会强制SQLite忽略文本大小写

试试这个:

SELECT * 
FROM   myTable 
WHERE  _id='some.text.dots.are.really.there!' 
COLLATE NOCASE; 
您可以使用rawQuery来选择:

mDb.rawQuery('Query Here',null);
和插入/更新/删除的执行任务:

mDb.executeQuery('Query Here',null);
SQLite在比较字符串时还考虑了文本大小写的大小写,因此可以使用COLLATE NOCASE,这迫使SQLite忽略文本大小写

试试这个:

SELECT * 
FROM   myTable 
WHERE  _id='some.text.dots.are.really.there!' 
COLLATE NOCASE; 
您可以使用rawQuery来选择:

mDb.rawQuery('Query Here',null);
和插入/更新/删除的执行任务:

mDb.executeQuery('Query Here',null);

我发现了这个问题:例程正在对ID进行盐析,因此它们不同于纯文本字符串


愚蠢的错误。。。无论如何,谢谢大家。

我发现了问题:例程正在对ID进行盐析,因此它们不同于纯文本字符串


愚蠢的错误。。。无论如何,谢谢你们。

这两种方法都可以,我会在调试器中仔细检查你们的ID,看看它们是否真的匹配。它们确实匹配。问题是:我正在从数据库获取id,并试图在代码中稍后的某个地方更新它,但它不起作用。好的,请将代码发布到不起作用的地方。两者都应该起作用,我会在调试器中仔细检查您的id,以查看是否真的匹配。它们确实匹配。问题是:我正在从数据库中获取id,并试图在代码中稍后的某个地方更新它,但它不起作用。好的,请将代码发布到不起作用的地方。