在android中正确的SQlite查询语法

要求根据传递参数获取数据库中的值。

比如,查询条件为年龄38岁,女,艺术家:

String age=38;
String gender=female;
String job=artist;

但是实现代码rawQuery中出现一个语法错误

代码:

public Cursor getData(String age, String gender, String job) {
        try {
            Cursor c = mDb.rawQuery("SELECT * FROM mytable order by Name asc WHERE Age='"+age+"'"  WHERE Gender='"+gender+"'" WHERE Job='"+job+"'", null);
            if (c != null) {
                c.moveToNext();
            }
            return c;
        } catch (SQLException mSQLException) {
            Log.e(TAG, "getData>>" + mSQLException.toString());
            throw mSQLException;
        }

    }

请高手帮忙修正这个错误,提前先谢谢了

0

1个回答

order by 应该在最后...... 从来没写过sql么?

1
Sn_Keys
狂龙骄子 晕,12年的帖子=_
大约 4 年之前 回复
Sn_Keys
狂龙骄子 晕,12年的帖子=_
大约 4 年之前 回复
Sn_Keys
狂龙骄子 除了前面指出的 order by 不能写在where 之前,where条件间使用 and / or 连接,不是使用 where
大约 4 年之前 回复
AnnBnnCnnD
AnnBnnCnnD Cursor c = mDb.rawQuery("SELECT * FROM mytable WHERE Age LIKE \""+age+"\" AND Gender LIKE \""+gender+"\" AND Job LIKE \""+job+"\" order by Name asc", null);是这样?
6 年多之前 回复
AnnBnnCnnD
AnnBnnCnnD 嗯,不太熟,
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android SqLite学习笔记——查数据
       使用Android SQLite原生数据库,SQLiteDatabase包含有四个参数不同的query函数,分别包含有7,8,9,10个参数。这么多的参数很难记,在这里以7个参数的query函数为例,介绍一下各个参数的意义,并且举一个自己敲的例子。nnnCursor query (n String table, n String[...
Android SQLite数据库基本语法
1.创建一张表nncreate table 表名(字段名字 字段类型, 字段名字 字段类型);nncreate table info(id int,name varchar(20));nnnnnn2.插入语句(增)nnnn2.1.插入全列nninsert into 表名 values(要添加的值…);nn如果添加的字段的数据类型是int类型,直接写值。nn如果添加的字段类型是varchar类...
android的sqlite获取当天数据的sql语句
Date KEY_END_AT = new Date();nString where = "strftime('%d.%m.%Y', date(?)) = strftime('%d.%m.%Y', 'now')";nSimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");nString [] whereArgs = {sdf.format(
SQLite3关键字和语法总结
SQLite3: n不区分大小写,除了特殊命令(glob) n1.存储类: nNULL, nINTEGER, 带符号的整数,存储在1,2,3,4,6或8字节中 nREAL, 浮点值,存储为8字节的IEEE浮点数字 nTEXT, 文本字符串,使用数据库编码(UTF-8,UTF-16BE或UTF-16LE)存储 nBLOB, blob数据,完全根据它的...
Android SQLite分页查询的三种方法
闲话不多说,直入话题,SQLite分页查询有三种方法,它们都是基于SQLite SQL查询来的,首先我们看下SQLite分页查询的SQL语句,有助于我们理解:rnrnrnrnrnrnrnrnrn1rnrn2rnrn3rnrn4rnrn5rnrn6rnrnrnrnrn#查询第一行起的5行数据,可以有两种语句:rnrn#第一种语句:rnrnselectrnrn* fromrnrnT_user limi
SQLite数据库—group by 语句
GROUP BY对数据进行分组SQLite的GROUP BY 子句用于与SELECT语句一起使用,来对相同的数据进行分组。在SELECT语句中,GROUP BY子句放在WHERE子句之后,放在ORDER BY子句之前。 用法:select 列名,列名 from 表名 group by 列名 order by 列名 例1:对CPU型号进行分组,并查询使用相同CPU的手机数(对CPU型号相同的信息合并...
Android记账本:SQLite+密码验证登录
本程序基于SQLite数据库开发而成,非常适合初学者学习。 相关知识点如下: 1.SQLite的增删改查; 2.多选删除录入的数据; 3.ListView显示账本; 4.使用SharedPreferences开发密码登录验证的功能; 5.显示总收入和总支出。 注:由于登录界面使用了Android 3.2以上的theme,所以请使用API 13以上的模拟器或Android设备运行此程序;或者自行修改AndroidManifest.xml文件。
SQLite 中的递归
create table if not exists testTable( id INT PRIMARY KEY,[name] NVARCHAR(20), parentId INT );nINSERT INTO testTable(id,[name],parentId) VALUES(1,'xf1',0);nINSERT INTO testTable(id,[name],parentId) VAL
Android中sqlite的基本增删查改用法
sqlite是Android中内置的轻型数据库,可以使用sql命令,是一种完善的,轻型的数据库。nn在Android中,每个应用程序都可以有自己的数据库实例,默认情况下是只能被自己访问的。nn数据库存放在Android设备的/data/data/<package_name>/databases文件夹下。可以使用内容提供器在应用程序间共享数据库信息。使用sqlite数据库可分为以下步骤:...
sqlite 增删改查语法使用
DBFriendBean表rnrn1.插入语句rninsertrninto 表明(表中存在字段,rn表中存在字段)rnvalues(表中存在字段对应的value,表中存在字段对应的value)rnrn使用:   insert into DBFriendBean(insertUserId,userName) values(7,'葫芦娃')rnrn插入结果:rnrnrnrnrn2.  删除语句rnde
Android SQLite 使用 query 查询特定行数据
query()方法:rnquery( table, columns, selection, selectionArgs, groupBy, having, orderBy, limit );rnrn参数含义:rnrntable:表名。rncolumns:要查询出来的列名。rnselection:查询条件子句。rnselectionArgs:对应于selection语句中占位符的值。rngroupBy:分组。相当于s...
android sqlite中String日期查询转换操作
如果表结构是Date类型比较好办直接操作就可以了这个不多说;n如果表结构是String类型则需要在查询时把要查找的字段转换为Date来和其他的日期比较后作为查询条件nCursor mCursor = db.query(true, DATABASE_SLEEP_TABLE,n new String[] { KEY_SLEEP_ROWID, KEY_SLEE
记录:Android SQLite的使用
记录一下Android 在使用 SQLite的时候,增、删、改、查对应的sql语句和Android自身封装还的函数。使用 SQLite时需要注意在 activity 销毁时候把SQLite close掉。数据库的 继承创建方式的区别。和创建是 getWritableDatabase( )与getReadableDatabase( )区别。查询返回 Cursor时候通过 while 或 for 进行数据的获取...
Android中Sqlite的使用及性能优化
1.写在前面的话前面写过一篇关于Sqlite基本操作的文章,今天我们来学习Android中如何使用Sqlite以及性能优化。2.Android平台下数据库相关类SQLiteOpenHelper 抽象类:通过从此类继承实现用户类,来提供数据库打开、关闭等操作函数。 nSQLiteDatabase 数据库访问类:执行对数据库的插入记录、查询记录等操作。 nSQLiteCursor 查询结构操作类:用来访
Android 代码实现查看SQLite数据库中的表
前言以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的函数,对于数据库的查看很不方便,于是就写了一下查看数据库表的方法代码。代码实现import java.util.Arrays;nimport android.app.Activity;nimport android.database.Cur
Android Sqlite 代码实现 多表联合查询
最近开发ServerMonitor解决的一个issue,关于数据库的的升级,需要log表内添加一个is_scuuess字段并且对原数据库中每条日志的该记录赋值,判断成功的逻辑是根据不同协议的返回状态码及请求时间进行判断,因为日志表内只有一个site_id字段,具体日志记录的协议类型字段在site表内,于是决定采用多表联合查询的方法,通过site_id,将log表的日志记录与site表内的port_
Android开发中SQLite Expert的操作技巧
最近学习SQLite Expert,了解过后,才觉得和MySql同工异曲,深度学习android开发,就必须了解Sqlite Expert,才能更上一层楼。在之前的一篇文章中我已经粗浅的介绍了SQLite的基本使用方法,这一骗我重点介绍一下SQlite的事务操作,适配器操作,分页操作等技巧.当然,先简单的温习一下Sqlite基本方法,http://blog.csdn.net/google_huchu
sqlite数据库—select—order、where、like用法
1. 利用抓取到的数据SpiderResult.db3建立数据库 点击连接(connection),选中“现有数据库文件”,并找到数据库文件(若没有数据库的用户名密码可以忽略) 点击确定,即可在在sqlite中看到文件的全部信息2. 利用sql语句查询并筛选需要的数据   a) 使用说明:点击query表示查询,点击新建开始输入命令,点击运行开始运行b) select * from 表名 (查询全...
SQLite not in 无法查询数据
 nnnSELECT * FROM QuestionInfonWHERE ID != (select QuestionID from Exam)nnnSELECT * FROM QuestionInfonWHERE  ID not in  (select QuestionID from Exam)nn!= 有数据nnnot in 没有数据nn但各类文档都说 2者是等价...
android sqlite cursor 没有返回数据的情况
      今天在android下使用 sqlite数据库,查询数据的时候,遇到一个令人很久揪心的问题 ,就是数据库中的表有 数据,但是返回的cursor的getCount()返回的总是0,而且程序也不报异常,这让一顿找的头都大来,下面来说说我这儿出现这种情况的原因吧!出现这种情况的正常的,我就不说来,就是没数据记录呗!出现这种情况是因为我在其他的地把sqlite的dbhelper的资源给占用来了...
用SQLite执行join操作时,筛选条件应当写在WHERE后面
我看了“图解SQL的JOIN”(http://coolshell.cn/articles/3463.html)后,决定用SQLite执行JOIN查询,然后发现数据的反应不正常,我抽象出来了一个例子如下:rn--创建表a:nCREATE TABLE a(nname TEXT NOT NULL PRIMARY KEY,nlevel TEXT NOT NULL);n--创建表b:nCREATE TABL
Sqlite 多表查询
联表查询 table_a 和 table_b:n已知:n 1.table_a和table_b中有个'time'字段对应。n 2.table_a中的一条记录table_b中可能有0~n条记录与之对应。n查询: n table_a中的所有记录,每条记录对应的table_b中的记录数量nnntable_a:nnnnn idn namen timennnn 1n name1n ...
android中Sqlite查询的数据返回排序问题
返回的数据显示的顺序不一样 查询数据库中数据 它按照固定的规则返回
android中的sqlite查询数据时去掉重复值
 nn1、方式一:nnn /**n * 参数一:是否去重n * 参数二:表名n * 参数三:columns 表示查询的字段,new String[]{MODEL}表示查询该表当中的模式(也表示查询的结果)n * 参数思:selection表示查询的条件,PHONE_NUMBER+" = ?" 表示根据手机号去查询模式n ...
Android数据库Sqlite查询显示到ListView控件
本次博客来完成上次博客没有完成的项目,从数据库查询的数据显示到listview n话不多说直接上代码 n首先我们要自定义一个适配器,继承 Baseadapter 来重写里面的方法nimport android.content.Context;nimport android.view.View;nimport android.view.ViewGroup;nimport android.widget.
Android---Sqlite数据库---数据库查询两种方式(事务)
# 1 Android下数据库创建 rn     mysql  sqlserver2005 oracle   sqlite : 轻量级,内置式rn     数据库一般用于存储,大量具有结构相同的数据。rnrnrn创建数据库的流程:(SqliteOpenHelper:)rn     1.创建一个帮助类,继承SqliteOpenHelperrn          public class MyHelp
查看sqlite中的表结构
通过adb shell命令可以进入sqlite3的命令行client。rn1、列出该数据库中的所有表rn.tablernrn2、查看表的结构rnselect * from sqlite_master where type="table";rnrn3、查看具体一张表的表结构rn如查看"system"表结构可使用如下命令:rnrnselect * from sqlite_master where ty
android sqlite3 sql语句之 根据时间段 查询
1.查询前10条记录,根据n 字段 排序nselect * from table where .... order by XX desc limit 0,10;n2.根据 时间日期 查询 :n注意时间格式必须是 2016-02-02nstartTime="2016-02-02";nnendTime="2016-03-04";nn数据库中:n birthdayDate 生日列名
Swift 中使用 SQLite——查询数据
Swift 中使用 SQLite——查询数据
Android 查询Sqlite表中的数据时,表中必须得有_id字段,否则报错
1.情况:使用外部自建表 .db 文件(自建的表,没有_id 字段),通过raw 加载/拷贝到内部存储中去。当我想去与 SimpleCursorAdapter进行关联使用的时候,即进行对库的表查询,返回Cursor结果,将结果通过Adapter.swapCursor()去置换数据源显示。会报错05-18 15:59:20.220: E/AndroidRuntime(2601): java.lang.
sqlite和一般主流数据在sql语句的区别
sql语句中经常存在根据类型查数据,有时候条件是字符型 有时候是数字,由于数据库的差异,最好在写sql语句时 同意写成带引号。比如下面select * from tb_project_info where 1=1  and PROJECT_CODE in (65)  mysql 就可以执行查询出来结果同样的语句sqlite 就无法显示查询结果。...
在Android Studio中查看Sqlite数据内容的方法
在Android Studio中查看Sqlite的方法只说最好的方法,使用工具stetho:
Android Sqlite数据库多表联合查询
Android Sqlite数据库多表联合查询nn工作上用数据库存储文件还是很便利的,所以有时候发现一张表存储数据感觉数据结构不是很清晰的时候,就需要新加第二张表或者多张表来进行联合查询对象信,一般是用键将彼此联系起来,在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起,下面,写一点简单的例子: n先说一下两张表各自要展现的内容有哪些 n第...
Android中SQLite模糊查询方法
Android中SQLite模糊查询,可以直接使用Cursor 的query加入模糊查询的条件即可。 n使用query有如下方式: n1.使用这种query方法%号前不能加’,以下为示例代码:Cursor c_test = mDatabase.query(tab_name, new String[]{tab_field02}, tab_field02+” LIKE ? “, nnew String[
Android-SQLite封装sql语句以及查看数据库
目标效果:rn rn rn rnrn点击不同的按钮,可分别对数据库进行不同的操作并输出Toast提示和LogCat日志信息。rnrnrn1.activity_main.xml页面定义所有的按钮控件。rnactivity_main.xml页面:rn<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"n
Android开发技术点7—— SQLite参数化查询小节
最近在做声纹相关的东西,在画页面时,因为设计不在家,所以就在即琢磨着,突发奇想的如果能模拟声纹波动的效果,岂不是很形象,所以在这边做了个模拟声纹波动的动画,但是首先声明,不是真的检测外部的声音而实时波动的,仅仅是个模拟声纹的动画效果,直接上代码: nlayout xml:<?xml version="1.0" encoding="utf-8"?>n<RelativeLayout xmlns:andr
Android SQLite 多条件查询或删除
Android SQLite 多条件查询或删除
Android SQLite数据库判断某张表是否存在,是否存在数据的方法
最近数据库用的比较多,所以就记录一下,以备未来使用nn废话不多说,直接上代码nn public static boolean HaveData(SQLiteDatabase db,String tablename){n Cursor cursor;n boolean a=false;n cursor = db.rawQuery(&quot;select name ...
安卓学习笔记(2)- SQLite中使用query函数对某类数据进行排序
1.在安卓的帮助文档中,query函数的相关内容如下:其中各个参数的含义为:table 需要进需要行操作的表的名称columns 需要查询的列,如String[]{“name”,”sex”},表示的是查询name和sex两个列selection 查询的条件子句,如”name = \”Tom\”“,表示只查询name这列中Tom的数据​
数据库sqlite查询语句与升序或降序
SQLite Where 子句SQLite的 WHERE 子句用于指定从一个表或多个表中获取数据的条件。如果满足给定的条件,即为真(true)时,则从表中返回特定的值。您可以使用 WHERE 子句来过滤记录,只获取需要的记录。WHERE 子句不仅可用在 SELECT 语句中,它也可用在 UPDATE、DELETE 语句中,等等,这些我们将在随后的章节中学习到。语法SQLite 的带有 WHERE
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习sqlite 学习java的正确顺序