如何在android sqlite中传递字符串而不是字符串参数

时间:2016-11-09 06:33:25

标签: android sql sqlite

我正在创建一个数据库,我需要在其中显示前一天的数据。

    Long test=  System.currentTimeMillis()-24*60*60;

    DateFormat dateFormattest= DateFormat.getDateInstance();
    String dateFilter= dateFormattest.format(test);
    Log.v("initial",  dateFilter);

   // String[] args={dateFilter.toString()};

    cursor=dba.query(Utils.Table_Name,new String[]{Utils.Id_Name,Utils.Food_Name,Utils.Calorie_Name,
        Utils.Date_Name},Utils.Date_Name+"=?",new String[]{dateFilter},null,null,Utils.Date_Name+ " DESC");
   // Log.v("sentvalue", args+"");

我在datefilter处有正确的值 logcat但初始值为no no 8,2016 但是在sentvalue中,logcat是Ljava.lang.String; @ 501eb6

1 个答案:

答案 0 :(得分:0)

您正在尝试打印String数组对象,这就是logcat为Ljava.lang.String;@501eb6的原因。

尝试如下打印数组第一个对象的值。

Log.v("sentvalue", args[0]);

尝试查询如下。

String[] projection = {utils.Id_Name,
                      Utils.Food_Name,
                      Utils.Calorie_Name,
                      Utils.Date_Name};

String selection =  Utils.Date_Name + "< ?";
String[] selectionArgs = new String[] { String.valueOf(System.currentTimeMillis()) };
String orderBy = Utils.Date_Name+ " DESC";     

Cursor cursor = db.query(
        Utils.Table_Name,                         // The table to query
        projection,                               // The columns to return
        selection,                                // The columns for the WHERE clause
        selectionArgs,                            // The values for the WHERE clause
        null,                                     // don't group the rows
        null,                                     // don't filter by row groups
        orderBy                                   // The sort order
        );