[英]How do I pass integer variable in sqlite query which I receive from first Activity?
I am new to programming for Android devices. 我是Android设备编程的新手。 I have two activities, in the first activity I send an integer value from the first activity to the second activity.
我有两个活动,在第一个活动中,我将第一个活动的整数值发送到第二个活动。
How can I add this variable in sqlite query which I receive from my first activity? 如何在我从第一个活动收到的sqlite查询中添加此变量?
I want to add booknumber where in query written b=1 I want replace 1 with booknumber 我想添加booknumber在查询中写入b = 1我想用booknumber替换1
private void setData() {
Intent mIntent = getIntent();
int booknumber= mIntent.getIntExtra("booknumber", 0);
stringArrayList = new ArrayList<>();
mDBHelper = new DatabaseHelper(this);
mDb = mDBHelper.getReadableDatabase();
Cursor cursor = mDb.rawQuery("select DISTINCT c from t_asv where b=1", new String[]{});
if(cursor!=null && cursor.getCount() > 0)
{
if (cursor.moveToFirst())
{
do {
stringArrayList.add(cursor.getString(0));
} while (cursor.moveToNext());
}
}
Just Concatenate the int booknumber to your query like below: 只需将int booknumber连接到您的查询,如下所示:
int booknumber= mIntent.getIntExtra("booknumber", 0);
...
Cursor cursor = mDb.rawQuery("select DISTINCT c from t_asv where b=" + booknumber, new String[]{});
Update: Its better to use the PreparedStatement / how to use as mentioned by @patrick-hollweck 更新:最好使用@ patrick-hollweck提到的PreparedStatement / 如何使用
Writing code like this leaves your app wide open to a sql injection vulnerability and is generally considered a very bad practice
编写这样的代码会使您的应用程序对sql注入漏洞敞开大门,通常被认为是一种非常糟糕的做法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.