SQLiteDatabase dbInstance;
Cursor cursor = dbInstance.query(String table,String []Columns, String selection, String[]selectionArgs, String having, string orderBy);
请问这里面每个参数的具体实际含义,哪些参数是可以为null的,为什么?
querySQLiteDatabase

解决方案 »

  1.   

    我不建议用这个方法,我比较喜欢用执行sql语句的那个,写通用sql语句就好了
      

  2.   

    谢谢您,就是说对于数据库的操作可以全部用sql语句进行执行,比如这地方的查询,我可以这样写:
    String sql = "select * from" + DB_TABLENAME;
    execsql(sql);
    是这样的吗?
    但是这样的话,这个查询得到的数据在sql server中ssms看的很直观,在程序中我看不见数据库的操作,而且我想获取这个查询得到的值,将它与.xml中的ListView结合起来,也就是将查询得到的结果在xml的LisetView中显示,我该怎么做呢?
      

  3.   

    table:表名,不能为null
    columns:要查询的列名,可以是多个,可以为null,表示查询所有列
    selection:查询条件,比如id=? and name=? 可以为null
    selectionArgs:对查询条件赋值,一个问号对应一个值,按顺序 可以为null
    having:语法have,可以为null
    orderBy:语法,按xx排序,可以为null
    如果有错,请大家更正。
      

  4.   

    楼上说的比较好了,建议楼主还是用provider处理数据,最好不要这样直接操作数据库
      

  5.   


    private void updateOrInsert(SQLiteDatabase db, String table){
            ......
            String stmt_update = "UPDATE "+table+" SET account_name='" + account_name + "'"+"calendar_displayName='"+ calendar_displayName +"'" + "where account_type='" + account_type + "'";
            ......        
            db.execSQL(stmt_update);
        }
    android如此设计  可能是为了方便不会写sql语句的开发人员  也可以方便的执行sql语句 上面的说的query方法参数很清楚,当然直接写sql语句也是可以的  上面的code 就是一个例子当不需要执行很复杂的sql语句时直接query方法  还是很方便的  涉及到多表什么的复杂sql语句时,使用sql语句才是王道~
      

  6.   

    这样子的啊,我可以顺便问您一下,
    1、关于使用SQLite创建表格,这些表格会存到什么地方,是永久存储的吗,还有表格里面的数据?如果不是永久存储的,有什么办法可以让其变成永久存储吗?
    2、然后就是我最近在网上看到一款SQLite的可视化工具叫SQLite Expert,但是不知道怎么去和程序关联上,就是说怎么才能在SQLite Expert中看到自己在程序中建立的表格?
    如果您有时间,请您能够耐心回答下我的问题,谢谢您。
      

  7.   

    上面query不就是查询操作吗?请问楼主的意思是?能够举个例子吗?
      

  8.   

    我是说db.execSQL()这个方法:
    Execute a single SQL statement that is NOT a SELECT or any other SQL statement that returns data. 
    执行一个非查询或者其他任何需要返回数据的简单sql语句。
      

  9.   


    安装好SQLite Expert    直接点击将你的xx.db 数据库    移动到桌面快捷方式SQLite Expe那里  就自动打开SQLite Expert   里面会显示你的xx.db了xx.db  一般生成在你data/xx/you project package name/xx.db  自己root了后 一般不去代码中执行删除操作 或者 人为move  是会永久存在的
      

  10.   


    查询也是可以的啊 只需要将str语句该为select语句 不要去dbInstance.query
    String str=" select * from table ";
    db.execSQL(str);
      

  11.   

    啊?那你怎么取查询到的数据。它的返回为void
      

  12.   


    用这个 
    Cursor cursor = db.rawQuery(sql, null);
    if (cursor.moveToFirst())
    {
    }