我试图从SQLite中删除一个值,并检索要从数组中删除的值。
这是一个完整的问题:当我在delete语句中使用值时,它显示的是数组格式而不是字符串格式。
代码:
deletestock="Delete from "+ st.tablename + " Where "+ st.column3 + " = '"+String.valueOf(populatestocks.a)+"'";
System.out.println(deletestock);
//Database.getInstance(getApplicationContext()).getWritableDatabase().delete(st.tablename, st.column3 + "=" + abc, null);
Database.getInstance(getApplicationContext()).getWritableDatabase().rawQuery(deletestock, null);
数组分解ArrayList a=new ArrayList();上面的代码Popatestock.a是数组
但逻辑猫是这样的东西:
Delete from abc Where StockName = '[sdfd]'
但我需要
Delete from abc Where StockName = 'sdfd'
我怎样才能解决这个问题?
发布于 2014-03-11 07:03:21
你可以试试这个:
deletestock="Delete from "+ st.tablename + " Where "+ st.column3 + " = '"+String.valueOf(populatestocks.a).subString(1, String.valueOf(populatestocks.a).length()-1)+"'";
应该还你想要的东西。
发布于 2014-03-11 07:01:05
populatestocks.a
博士应该是populatestocks.a[0]
您的问题意味着您有一个长度为1的数组,并且您希望字符串连接能够识别这一点,并将其处理为单个值。它不是这样工作的,因为即使只有一个元素,它仍然是一个数组,而不是一个值,并且被视为数组。
发布于 2014-03-11 07:11:20
您正在声明一个ArrayList,因此需要使用get(index)而不是[]。
因此,代码应该如下所示:
String.valueOf(populatestocks.a.get(0))
https://stackoverflow.com/questions/22329350
复制相似问题