在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;
        }

    }

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

1个回答

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

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);是这样?
接近 7 年之前 回复
AnnBnnCnnD
AnnBnnCnnD 嗯,不太熟,
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sqlite语法sqlite语法sqlite语法
sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法
android sqlite 的架构和语法
android  sqlite 大部分时按照三层次架构 简单的如下图: --com.evidioe.main(主要是存储有关数据库的调用接口和测试,这个目录包可以分解成多个如:网络通信,适配器,数据处理(非android sqlite)等) --com.evidioe.dao(sqlite dao 存储跟数据库的有关的内容:如数据库的生成,表的生成,表的查询,数据库
android数据库Sqlite的正确使用方法
首先网上关于sqlite的帖子有很多,但大多都是如何使用相关的类和方法,代码也比较不规范,这里是专门针对新人教你如何在应用中使用sqlite数据库的。只是给大家一个示范,具体怎么用可以根据自己的应用需要具体分析。 绝大多数语言中使用数据都遵循这样一个过程,连接—打开—执行—关闭。但是android中省略了“连接”这一过程,这是因为android内置的数据库对安全性要求不高。 应用程序
android sqlite查询问题
代码:rnpackage com.cxw.sqliteopenhelper;rnrnimport android.os.Bundle;rnimport android.app.Activity;rnimport android.content.Context;rnimport android.database.Cursor;rnimport android.database.sqlite.SQLiteDatabase;rnimport android.database.sqlite.SQLiteOpenHelper;rnimport android.util.Log;rnimport android.view.Menu;rnimport android.widget.Toast;rnrnpublic class OpenHelperMainActivity extends Activity rnrn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_open_helper_main);rn MyDBHelper helper=new MyDBHelper(this);rn rn helper.insert();rn helper.query();rn rn class MyDBHelper extends SQLiteOpenHelperrn private static final String CREATE_TABLE_SQL=" create table TempTb1(_id integer,name text) ";rn private SQLiteDatabase db;rn MyDBHelper(Context c)rn rn super(c,"test.db",null,2);rn rn rn @Overridern public void onCreate(SQLiteDatabase db) rn // TODO Auto-generated method stubrn rn db.execSQL(CREATE_TABLE_SQL);rn rn rn @Overridern public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) rn // TODO Auto-generated method stubrn rn rn private void insert()rn rn String sql="insert into TempTb1(_id,name) values(1,'zhangsan')";rn getWritableDatabase().execSQL(sql);rn rn private void query()rn rn Cursor c=getWritableDatabase().query("TempTb1", null, null, null, null, null, null);rn if(c.moveToFirst())rn rn for(int i=0;i
android的Sqlite 选择查询
使用rawQuery获取列的时候:rnrn SQLiteDatabase db=database.getReadableDatabase();rn rn try rn rn String sql="SELECT * FROM CAR WHERE name = "; rn Cursor crs = db.rawQuery(sql+"5P", null);rn rnrn总是报出异常:rnrn```android.database.sqlite.SQLiteException: **unrecognized token**: "5P": , while compiling: SELECT * FROM CAR WHERE name = 5P```rnrn在CAR表中有5P这个值,在其他查询中能查到。rn
Android SQLite查询报错
在运行查询语句时,报错语法错误:rnrn inal Cursor c = getContentResolver().query(rn Provider.GAME_URI, new String[]"CASE WHEN " +DBHelper.COLUMN_CRE_USER + " = " + preferences.getInt(LoginScreen.ID, 0) + " THEN (" + DBHelper.COLUMN_CRE_PTS + " AS you AND " + DBHelper.COLUMN_CON_PTS + " AS them) ELSE (" + DBHelper.COLUMN_CON_PTS + " AS you AND " + DBHelper.COLUMN_CRE_PTS + " AS them)","turn = ?",rn new String[] preferences.getInt(LoginScreen.ID, 0) + "", null);rnrn报的错:rnrn 04-24 19:57:48.345: E/AndroidRuntime(18775): Caused by: android.database.sqlite.SQLiteException: near "AS": syntax error (code 1): , while compiling: SELECT CASE WHEN createduser = 112 THEN (createdplayerpts AS you AND connectedplayerpts AS them) ELSE (connectedplayerpts AS you AND createdplayerpts AS them) FROM game WHERE (turn = ?)
【SQLite关系型数据库】SQLite语法
作者:郭孝星 微博:郭孝星的新浪微博 邮箱:guoxiaoxingv@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.com/guoxiaoxing SQLite 是遵循一套独特的称为语法的规则和准则。 一 SQLite语法细则1.SQLite 是不区分大小写的,但也有一些命令是大小写敏感的,比如 GLOB
Sqlite语法
从代码了解语法#-*- coding: UTF-8 -*- import sqlite3 #导入模块 import os #DB_FILE_PATH = '../src/喜马拉雅/test.db' #定义一个数据库文件 conn = sqlite3.connect(DB_FILE_PATH)# 连接数据库,如果没有的话就先创建一个数据库 cu=conn.cursor()#创建游标,以后很多操作都需
SQLite语法
sqlserver的查询是select id,title,url form land_contents0 where A_ID not in(881,882,883,888)rn我想知道SQLite该怎么写!!
sqlite语法
SQL的语法很像自然语言。每个语句都是一个祈使句,以动词开头,表示所要做的动作。后面跟的是主题和谓词 命令 SQL由命令组成,每个命令以分号(;)结束。如下面是3个独立的命令: SELECT id, name FROM foods; INSERT INTO foods VALUES (NULL, 'Whataburger'); DELETE FROM foods WHERE id=413...
sqlite 语法
本文比较全面的讲述了SQLite的语法。
ionic 中正确使用 SQLite
第一步:安装必备插件ngCordova,使用命令bower install ngCordova, 然后打开入口文件index.html ,在头部添加                这里cordova.js和ng-cordova.min.js 和你自己环境相关,请注意! 第二步:安装SQLite插件。使用命令 cordova plugin add https://github
android管理和查询sqlite数据库
最近在研究android的sqlite数据库 怎样通过命题窗口操作程序中的数据库呢 这篇入门级文章很不错 http://www.cnblogs.com/walkingp/archive/2011/03/28/1997437.html  
android sqlite插入,查询求助
本人菜鸟一个,在练习Android的数据库操作时,如图[img=https://img-bbs.csdn.net/upload/201411/03/1414997779_85238.png][/img]rn应用在启动时确实获得数据[img=https://img-bbs.csdn.net/upload/201411/03/1414997848_936614.png][/img]rnrn但是在[img=https://img-bbs.csdn.net/upload/201411/03/1414997951_688907.png][/img]rn中进行方法调用insert时提示[img=https://img-bbs.csdn.net/upload/201411/03/1414998012_965551.jpg][/img]rn没有person这张表,求帮助,解释。
SQLite中用户注册与查询
代码实现的功能主要是手机中SQLite数据库中的用户的注册与查询。
SQLITE资料(SQLite3.0,SQLite语法,SQLite参考手册)
SQLite数据库在嵌入式下载机中的应用研究,SQLite语法备忘录
sqlite 中查询的问题
[code=java]rn Cursor cursor1=db1.query("cmdetailed",new String[]"total(subtotal) as sale", " name='"+tempname+"'", null, null, null, null);rn if(cursor1.getCount()>0)rn rn if(cursor1.moveToFirst())rn rn String sale=cursor1.getString(cursor1.getColumnIndex("sale"));rn rn //float a=Float.parseFloat(sale);rn System.out.println("sale:"+sale+" classname:"+tempname);rn rn lssale.add(sale);rn rn rn[/code]rnrntempname为中文rn查询不到任何数据(数据库里面是有数据的)rn请各位大侠指教一下 谢谢!rnrn
flex中sqlite查询
进行flex开发时,需要用到sqlite对数据进行存储以及查询。rn现阶段把sqlite的创建,链接,查询,更新等操作都做成了一个共通类。rn然后在view中把这个共通sqlite.as给引进来了。rn 在view中调用selectall这个操作,报下面这个错误Error #1009: Cannot access a property or method of a null object reference.rnrnrnPS:目的,想通过selectall把数据库中的数据全部取出来,放到页面上的list组件中显示出来。rnrn请各位大侠,给予指点
Android 中SQLite的操作命令
看目录下的文件    sqlite3 数据库名  进入数据库    .schema                  查看数据库下的信息    ctrl+d                      退出sqlite模式  
Android中数据存储之sqlite
数据存储之sqlite
Android中SQLite学习笔记
对于SQLiteOpenHelper类进行学习并做了一些整理。
android中SQLite数据库操作
一.定义DBHelper继承SQLiteOpenHelper public class DBHelper extends SQLiteOpenHelper{ private final Context mContext; public DBHelper(Context context,String name,int version) { supe
Android中SQLite版本升级
[size=large]Android中SQLite版本升级 网上有很多文章,但是感觉写的都不是很明白 前提: 定义DbOpenHelper类继承SQLiteOpenHelper 重写onCreate和onUpgrade方法 onDowngrade是降级的方法,应该不会用到 定义两个属性 // 数据库名称,如果是null就会创建一个在内存中的数据库,当然内存被清理数据也就消失了 p...
Android中Sqlite的简单使用
最近公司在开发一个扫码的APP,在一个做保存单据的时候使用到了sqlite的功能,android sqlite是安卓内置数据库,可以很方便的存储我们想要保存的数据。话不多说,开始上示例。1.要写一个类来继承SQLiteOpenHelperimport android.content.Context; import android.database.sqlite.SQLiteDatabase; im...
Android中的SQLite数据库
关于Android中的SQLite数据库的使用
android中sqlite数据导出
在程序每次结束时,将sqlite中到某一个表,进行导出备份。导出什么格式都行。在下次程序启动时,判断这个表是否还存在,如果不存在,就将上次结束时备份的数据表导入进来。注意,不是在sqlite下使用命令,而是在程序中使用代码来操作,android平台下。
android中sqlite的问题
关于这个方法 SQLiteDatabase.insert(table, nullColumnHack, values);rn其中的nullColumnHack是代表什么
Android中的SQLite的demo
android中的数据存储之SQLite 数据库存储,实现简单的增删改查等功能
Sqlite在Android中的简单使用
说到Android中的数据存储方式,听人说有5种 其实具体有几种寡人不甚清楚,无所谓,爱有几种要几种 让我来缕一缕到底有几种方式吧 shit回顾一下android中数据存储的方式有很多种:(1) SharePreferences 通过api进行get、put操作 ----进程内部使用,可以实现资源共享,局限性比较大可以参考:SharedPreference 实现不同进程间的数据共享(2) 通
android数据存储中的SQLite
SQLite是一款android系统内置的轻量级的关系型数据库。 一、通过SQLiteOpenHelper类创建数据库 1、新建类DatabaseHelper(可自己命名)继承SQLiteOpenHelper类复写onCreate方法和onUpgrade方法。 2、复写四个参数的构造函数,四个参数分别为,Context(上下文)、name(数据库实例名字)、CursorFac
Android中sqlite怎么弄
我写一个程序,你在edittext中输入一个数字,然后点击一个按钮之后,会在同一个页面由textview显示出来你所输入的那个数字。说白了,就是和记账是一个道理,显示的是每天输入的数字的和,月初清零。希望各位大侠指点啊
Sqlite在android中的使用
SQLite需要使用SQLiteOpenHelper(更简单) 需要掌握如下方法:getReadableDatabase(); //返回SQLiteDatabase 对象 getWritableDatabase(); // onCreate(SQLiteDatabase db); onOpen(SQLiteDatabase db); onUpgrade(SQLiteDatabase db, int
Android中的SQLite 数据库
SQLite 是android系统集成的一个轻量级数据库。SQLite 是一个嵌入式的数据库引擎,专门适用于资源有限的设备上,如Android和IOS 上 都是支持的SQLite数据库。本质上SQLite数据库只是一个文件。也就是说,当我们的程序创建或者打开一个SQLite数据库时,其实只是打开了一个文件准备读写。SQLiteDatabaseandroid提供了一个SQLiteDatabase代表一
Android中的数据库——SQLite
SQLite是遵守ACID的关系型数据库管理系统。 废话不多说,直接上代码。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //打开或创建test.db数据库 SQLiteDatabase db = openOrCre
android中sqlite的使用
NULL 博文链接:https://geyubin.iteye.com/blog/1064852
android中SQLite(源代码)
希望我的Android开发案例对你可以有所帮助
sqlite 增删改查语法使用
DBFriendBean表 1.插入语句 insert into 表明(表中存在字段, 表中存在字段) values(表中存在字段对应的value,表中存在字段对应的value) 使用:   insert into DBFriendBean(insertUserId,userName) values(7,'葫芦娃') 插入结果: 2.  删除语句 de
一个sqlite语法问题
用 sqlite 语句,把两个字段链接起来的语法是 select a || b from tablernrn现在有一个问题,当字段里出现null时,运算结果被null同化了rnrnselect a,b,a ||b as c from tablernrna b crnnull fuck nullrngod null nullrnso good sogoodrnrn 我想要这个结果怎么办?rnrna b crnnull fuck fuckrngod null godrnso good sogoodrn
Sqlite 语法出错
[code=SQL]rnSELECT acSiteGroup_AcquisitionInfo.fldGuid, acSiteGroup_AcquisitionInfo.fldName, rn acSiteGroup_AcquisitionContent.fldContentrnFROM acSiteGroup_AcquisitionInfo INNER JOINrn acSiteGroup_AcquisitionContent ON rn acSiteGroup_AcquisitionContent.fldGuid = acSiteGroup_AcquisitionInfo.fldGuid rnWHERE (acSiteGroup_AcquisitionInfo.fldGuid NOT INrn (SELECT fldInfoGuidrn FROM acSiteGroup_AcquisitionContentPostrn WHERE (fldPostGuid = @fldPostGuid))) limit 1, 10rnrn[/code]rn我想查 acSiteGroup_AcquisitionInfo.fldGuid 不在 acSiteGroup_AcquisitionContentPost 表中的数据rn当取消 limit 1, 10 条件时,能正确查处所有数据rn但是加上运行之后就报错 错误:rnInsufficient parameters supplied to the command
SQLite语法(HTML版)
SQLite语法详解 这个挺详细,希望对大家有帮助。
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法