Java Android SQLite只接受字符串[]作为whereRGS?
在我的Android应用程序中,我有一个Java Android SQLite只接受字符串[]作为whereRGS?,java,android,sqlite,Java,Android,Sqlite,在我的Android应用程序中,我有一个事件。事件具有as属性id,该属性是一个长(该属性明显标识事件) 当我想更新SQLiteDatabase中的事件时,我会执行以下操作: sqliteDatabase.delete("events", "id = ?", new String[] { "" + id }); 它可以工作,但是有没有一种更漂亮/更受欢迎的方法呢?我的意思是,不是只为一个元素创建一个新的字符串[],然后将长字符串包装成一个字符串,这很麻烦。不是java编码器,但这可能行得通吗
事件
。事件
具有as属性id
,该属性是一个长
(该属性明显标识事件
)
当我想更新SQLiteDatabase
中的事件时,我会执行以下操作:
sqliteDatabase.delete("events", "id = ?", new String[] { "" + id });
它可以工作,但是有没有一种更漂亮/更受欢迎的方法呢?我的意思是,不是只为一个元素创建一个新的字符串[]
,然后将长字符串包装成一个字符串,这很麻烦。不是java编码器,但这可能行得通吗
sqliteDatabase.delete("events", "id = ?", { id.toString() });
不是java程序员,但也许这能用
sqliteDatabase.delete("events", "id = ?", { id.toString() });
您可以使用a并将变量绑定到它。但这需要您编写accusal SQL查询。您可以使用并将变量绑定到它。但这需要您编写accusal SQL查询
这是可行的,但有没有更漂亮/更受欢迎的方法
使用String.valueOf(id)
而不是“”+id
,因为它会运行得更快,产生的垃圾更少
我的意思是,不要只为一个元素创建一个新字符串[],并将长字符串包装成一个字符串,这很麻烦
欢迎您编写自己的方法,对代码的其余部分隐藏繁琐的内容
这是可行的,但有没有更漂亮/更受欢迎的方法
使用String.valueOf(id)
而不是“”+id
,因为它会运行得更快,产生的垃圾更少
我的意思是,不要只为一个元素创建一个新字符串[],并将长字符串包装成一个字符串,这很麻烦
欢迎您编写自己的方法,对代码的其余部分隐藏繁琐的内容。这并不是说它不起作用,他只是不想创建一个只包含一个元素的新字符串数组。而且,我认为在Java中不可能做到这一点。(仅仅是数组的{})@Whirlwin它是可能的:String[]test={“Halo”,“World”}我知道,但我的意思是作为一个论点。无法再编辑注释。这不是因为它不起作用,他只是不想创建一个只包含一个元素的新字符串数组。而且,我认为在Java中不可能做到这一点。(仅仅是数组的{})@Whirlwin它是可能的:String[]test={“Halo”,“World”}我知道,但我的意思是作为一个论点。无法再编辑注释。+1作为替代解决方案,但我认为这将更加麻烦,因为您必须准备语句,然后绑定参数,谢谢。如果您使用相同的SQL语法进行多个查询,但使用其他值,一个准备好的语句要快得多,而且可以节省SQL注入的时间。+1作为替代解决方案,但我认为这将更加麻烦,因为您必须准备语句,然后绑定参数,谢谢。如果您使用相同的SQL语法进行多个查询,但使用其他值,一个预先准备好的语句要快得多,而且可以避免SQL注入。