SQliteDatabase 中sql语句引用字符串时的注意点,要把单引号放进去,E/SQLiteLog﹕ (1) no such column:

如下面所示:name是string型的,这样直接引用会出现错误提示:

android.database.sqlite.SQLiteException: no such column: longman (code 1): , while compiling: insert into demo (name,age) values(longman,55)

public void insertData(String name, int age) {
      db.execSQL("insert into demo (name,age) values("+name+","+age+")");
}

修改方法,把单引号放到双引号里面去,也就是当name变成你传入的值的时候,sql语句对string类型的变量就能有双引号功能了:如图绿色所示

public void insertData(String name, int age) {
      db.execSQL("insert into demo (name,age) values(‘"+name+"‘,"+age+")");
}

来源: http://write.blog.csdn.net/postedit/50533170

来自为知笔记(Wiz)

时间: 2024-11-08 02:55:26

SQliteDatabase 中sql语句引用字符串时的注意点,要把单引号放进去,E/SQLiteLog﹕ (1) no such column:的相关文章

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

跟踪oracle中sql语句执行过程及相关知识拓展

<pre name="code" class="sql">select * from v$sqlarea; select * from v$sqlarea where first_load_time>'2010-11-27/09:30:00'; 这个方法查询结果每条记录显示一条查询语句,且只能查询sql_text小于1000字符的,多余的会被截断. 改进一下: select * from v$sqlarea where first_load_tim

php中sql语句常见错误

.php文件中sql语句的写法导致的错误如下: 1.$logSql="select * from jd_login where uname=".$u."and upwd=".$p; 报错如下: 查询用户失败: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use

java中sql语句能不能加分号的问题?

一.原因  在程序运行中,当执行sql后总是报无效字符错误:但是把程序放在pl/sql中执行又没有错误.让我很纳闷!于是我开始查找资料,然后我终于发现了问题. 二.问题剖析 原来在程序中:如果你在程序里面写sql,就不要加分号,在程序里面编译器会把分号当做sql本身的一部分,所以会报错. 如果是在查询工具里面(比如plsql),这个时候可以加上分号,在工具里面已经做过预处理,分号是个分隔符,看到分号就标志着本条sql语句结束了: 因此java中sql语句能不能加分号.

转 mysql 中sql 语句查询今天、昨天、7天、近30天、本月、上一月 数据

转自 http://blog.csdn.net/ve_love/article/details/19685399 转 mysql 中sql 语句查询今天.昨天.7天.近30天.本月.上一月 数据

Sql Server中sql语句自动换行

怎么让sql server中的sql语句自动换行呢? 如下图: 工具--选项--所有语言 Sql Server中sql语句自动换行

细心!SQL语句进行运算时使用字符串时缺失精度的细节!

昨天没有更新,特此来说明下原因,昨天回到家时已经甚晚,正逢公司这几天项目比较紧张(bug多,赶需求,看着bug单齐刷刷的转过来,心都颤抖了一下),没有及时准备素材,今天又加了一天班(现在还在公司,偷个空隙赶紧发博,哈哈哈),所以昨晚没有更博. 今天在改bug的时候发现了如图的小问题,来分享一下,主要还是要细心. 我们有一个页面,需要输入数字传入后台,然后进行相关的运算,再通过运算后的数进行查询,我们页面输入值传入后台的是String类型的,进行运算后得出一个缺失精度的值,而我们用来查询时把这个数

ORACLE 中 SQL语句优化

(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):  ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.    (2) WHERE子句中的连接顺序.:  ORACLE采用自下而上的顺序解

sql server和access 中sql语句的区别(佚名)

对于日期字段字段access表示为:#1981-28-12#SQLSERVER2000表示为:‘‘1981-02-12‘‘2,SQL语句区别,select ,update 在对单表操作时都差不多,但多表操作时update语句的区别ACCESS与SQLSERVER中的Update语句对比:SQLSERVER中更新多表的Update语句:Update Tab1SET a.Name = b.NameFROM Tab1 a,Tab2 bWhere a.ID = b.ID;同样功能的SQL语句在ACCES