如何检查android sqlite数据库中是否已存在该值?

时间:2012-04-29 17:39:12

标签: java android sql database sqlite

我有应用程序,用户输入特定日期的名称和其他详细信息。我需要检查值/名称用户是否尝试添加已存在于数据库列名称中。我有这个代码,但这不起作用,因为它只选择一个值。感谢

Cursor c = dbe.rawQuery("SELECT name FROM tbl_user WHERE meeting_date LIKE'" + mydate + "'", null);

if ((c.getString(3)).equals(editTextName.getText().toString()))

{
// do something
}

2 个答案:

答案 0 :(得分:2)

如果您只检查字段中是否存在值,最简单的方法是使用适当的过滤器进行选择计数。

的内容
SELECT count(*)
FROM tbl_user
WHERE meeting_date LIKE ' + my_date'
AND name = ' + editTextName.getText() + '

这将使您能够轻松快速地确定表中是否存在这些值。

如果您需要检查多个表,那么您必须在这些表之间进行连接并相应地编写过滤器。

如果碰巧你没有很好的处理SQL 这个网站是一个很好的起点: W3Schools SQL Tutorial

希望这有帮助。

答案 1 :(得分:1)

您只选择了一列(name)而在您的if中,您试图比较(不存在的)第三列的内容(不确定为什么要尝试这样做,但显然是一个问题)。

为什么不使用列标题,而不是试图这样做呢?

所以你的if看起来像这样(并且光标在列中的位置无关紧要):

if (c.getString(c.getColumnIndex("name")).equals(editTextName.getText().toString()))