insert into 引号语句要插入的一语句中有逗句,引号怎么办

sql语句中单引号,双引号的处理方法_MsSql
sql语句中单引号,双引号的处理方法_MsSql
下面我们就分别讲述,虽然说的是Insert语句, 但是Select、Update、Delete语句都是一样的。 假如有下述表格: mytabe 字段1 username 字符串型(姓名) 字段2 age 数字型(年龄) 字段3 birthday 日期型(
下面我们就分别讲述,虽然说的是Insert语句, 但是Select、Update、Delete语句都是一样的。 假如有下述表格:&&&&&&&&& mytabe&&&&&&&&& 字段1&&& username&&&& 字符串型(姓名)&&&&&&&&& 字段2&&& age&&&&&&&&& 数字型(年龄)&&&&&&&&& 字段3&&& birthday&&&&& 日期型(生日)&&&&&&&&& 字段4&&& marry&&&&&&& 布尔型(是否结婚,结婚为True,未结婚为False)&&&&&&&&& 字段5&&& leixing&&&&&& 字符串型(类型)&&&&&&&&&
//安云网咨询系统 1.&&&& 插入字符串型& 假如要插入一个名为张红的人,因为是字符串,所以Insert语句中名字两边要加单撇号,如:&&&&&&&&& strsql=“Insert into mytable(username) values(‘张红')”&&&&&&& 如果现在姓名是一个变量thename,则写成&&&&&&&&& strsql=”Insert into mytable(username) values(‘” & thename & “')”&&&& 这里Insert into mytable(username) values(‘是张红前面的部分,thename是字符串变量,') 是张红后面的部分。将thename变量替换成张红,再用&将三段连接起来,就变成了 strsql=“Insert into mytable(username) values(‘张红')”。如果要插入两个字段,如姓名为“张红”,类型为“学生”&&&&&&&& strsql=“Insert into mytable(username,leixing) values(‘张红','学生')”&&&&&&&&
//本文来自安云网 如果现在姓名是一个变量thename,类型也是一个变量thetype,则写成:&&&&&&&&& strsql=”Insert into mytable(username,leixing) values(‘” & thename & “','” & thetype & “')”&&&&&&& 和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。&&&&&&&&& 2.&&&& 插入数字型&&&&&& 假如插入一个年龄为12的记录,要注意数字不用加单撇号:&&&&&&&& strsql=“Insert into mytable(age) values(12)”&&&&&&&&& 如果现在年龄是一个变量theage,则为:&&&&&&&& strsql=“Insert into mytable(age) values(“ & theage & “)”&&&&&&&&&
//ANYUN.ORG 这里Insert into mytable(age) values(是12前面的部分,theage是年龄变量,)是12后面部分。 将theage替换,再用&连接符将三部分连接起来,就变为了和上面一样的字符。&&&&&&& 3.&&&& 插入日期型&&& 日期型和字符串型类似,但是要将单撇号替换为#号。(不过,access数据库中用单撇号也可以)&&& strsql=“Insert into mytable(birthday) values(##)”&&&&&&& 如果换成日期变量thedate&&&&&&&&& strsql=“Insert into mytable(birthday) values(#” & thedate & “#)”&&&&&& 4.&&&& 插入布尔型&& 布尔型和数字型类似:只不过只有两个值 True和False,如:&&&&&&&&& strsql=“Insert into mytable(marry) values(True)”&&&&&&&&
//内容来自AnYun.ORG 如果换成布尔变量themarry&&&&&& strsql=“Insert into mytable(birthday) values(” & themarry& “)”&&&&&&& 5.&&&& 综合示例&&&&&&& 插入一个姓名为张红,年龄为12的记录&&&&&&&& strsql=“Insert into mytable(username,age) values(‘张红',12)”&&&&&&&& 仔细注意上式:因为姓名是字符串,所以张红两边加了单撇号;年龄是数字,所以没有加单撇号。&&&&& 如果换成字符串变量thename和数字变量theage,则变为:&&&&&&& strsql=“Insert into mytable(username,age) values(‘” & thename & “',” & theage & “)”&&&& 注意上式,总之,替换变量,再连接后要完成和上边一样的字符串。&&&&&&
//内容来自安云网 6.&&&& 小窍门&&&&& && 有一位同学摸索出了一个小窍门,要把下面的语句题换成变量的写法:&&&& && strsql=“Insert into mytable(username) values(‘张红')”&&&&&&&& && 第一步:先把张红抹去,在原位置加两个引号&&&&&&& && strsql=“Insert into mytable(username) values(‘”&& “')”&&&&&&&& && 第二步:在中间添加两个连接符&&&&&&&&& && strsql=“Insert into mytable(username) values(‘” & & “')”&&&&&&& && 第三步:把变量写在两个连接符之间&&&&&&&&& && strsql=“Insert into mytable(username) values(‘” & thename & “')” - //内容来自AnYun.ORG
------分隔线----------------------------
误区 #28:有关大容量事务日志恢复模式的几个误区 28 a)常见的D...
在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQL...
误区 #13.在SQL Server 2000兼容模式下不能使用DMV 错误 对于兼容模式...
其实我之前已经有文章详细解释了页校验和: How to tell if the I...
这里用 excel 数据做个最简单的测试。 1)把 excel 数据存为 t.tx...
以SQL Server 2012 为例 上图是部分数据库的截图, 我们执行 复制代...sql语句中单、双引号的处理 - 白雉一声 - 博客园
关于Insert字符串 很多同学都在这个方面发生了问题,其实主要是因为数据类型和变量在作怪。下面我们就分别讲述,虽然说的是Insert语句, 但是Select、Update、Delete语句都是一样的。 假如有下述表格: &&&&&&&& mytabe &&&&&&&& 字段1&&& username&&&& 字符串型(姓名) &&&&&&&& 字段2&&& age&&&&&&&&& 数字型(年龄) &&&&&&&& 字段3&&& birthday&&&&& 日期型(生日) &&&&&&&& 字段4&&& marry&&&&&&& 布尔型(是否结婚,结婚为True,未结婚为False) &&&&&&&& 字段5&&& leixing&&&&&& 字符串型(类型) &&&&&&&& 1.&&&& 插入字符串型 &&&&&&&& 假如要插入一个名为张红的人,因为是字符串,所以Insert语句中名字两边要加单撇号,如: &&&&&&&& strsql=&Insert into mytable(username) values(&张红&)& &&&&&&&& 如果现在姓名是一个变量thename,则写成 &&&&&&&& strsql=&Insert into mytable(username) values(&& & thename & &&)& &&&&&&&& 这里Insert into mytable(username) values(&是张红前面的部分,thename是字符串变量,&) 是张红后面的部分。 将thename变量替换成张红,再用&将三段连接起来,就变成了 strsql=&Insert into mytable(username) values(&张红&)&。 &&&&&&&&& 如果要插入两个字段,如姓名为&张红&,类型为&学生& &&&&&&&& strsql=&Insert into mytable(username,leixing) values(&张红&,&学生&)& &&&&&&&& 如果现在姓名是一个变量thename,类型也是一个变量thetype,则写成: &&&&&&&& strsql=&Insert into mytable(username,leixing) values(&& & thename & &&,&& & thetype & &&)& &&&&&&&& 和第一个例子一样,将thename和thetype替换后,再用连接符,就连接成和上面一样的字符串了。 &&&&&&&& 2.&&&& 插入数字型 &&&&&&&& 假如插入一个年龄为12的记录,要注意数字不用加单撇号: &&&&&&&& strsql=&Insert into mytable(age) values(12)& &&&&&&&& 如果现在年龄是一个变量theage,则为: &&&&&&&& strsql=&Insert into mytable(age) values(& & theage & &)& &&&&&&&& 这里Insert into mytable(age) values(是12前面的部分,theage是年龄变量,)是12后面部分。 将theage替换,再用&连接符将三部分连接起来,就变为了和上面一样的字符。 &&&&&&&& 3.&&&& 插入日期型 &&&&&&&& 日期型和字符串型类似,但是要将单撇号替换为#号。(不过,access数据库中用单撇号也可以) &&&&&&&& strsql=&Insert into mytable(birthday) values(##)& &&&&&&&& 如果换成日期变量thedate &&&&&&&& strsql=&Insert into mytable(birthday) values(#& & thedate & &#)& &&&&&&&& 4.&&&& 插入布尔型 &&&&&&&& 布尔型和数字型类似:只不过只有两个值 True和False,如: &&&&&&&& strsql=&Insert into mytable(marry) values(True)& &&&&&&&& 如果换成布尔变量themarry &&&&&&&& strsql=&Insert into mytable(birthday) values(& & themarry& &)& &&&&&&&& 5.&&&& 综合示例 &&&&&&&& 插入一个姓名为张红,年龄为12的记录 &&&&&&&& strsql=&Insert into mytable(username,age) values(&张红&,12)& &&&&&&&& 仔细注意上式:因为姓名是字符串,所以张红两边加了单撇号;年龄是数字,所以没有加单撇号。 &&&&&&&& 如果换成字符串变量thename和数字变量theage,则变为: &&&&&&&& strsql=&Insert into mytable(username,age) values(&& & thename & &&,& & theage & &)& &&&&&&&& 注意上式,总之,替换变量,再连接后要完成和上边一样的字符串。 &&&&&&&& 6.&&&& 小窍门 &&&&&&&& 有一位同学摸索出了一个小窍门,要把下面的语句题换成变量的写法: &&&&&&&& strsql=&Insert into mytable(username) values(&张红&)& &&&&&&&& 第一步:先把张红抹去,在原位置加两个引号 &&&&&&&& strsql=&Insert into mytable(username) values(&&&& &&)& &&&&&&&& 第二步:在中间添加两个连接符& &&&&&&&& strsql=&Insert into mytable(username) values(&& & & &&)& &&&&&&&& 第三步:把变量写在两个连接符之间 &&&&&&&& strsql=&Insert into mytable(username) values(&& & thename & &&)& -
资料引用:/555140.html
阅读(...) 评论()Android SqLite中insert()方法解析
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& android SqLite中insert()方法解析
提供了一个名为SQLiteDatabase的类,该类封装了一些操作的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。 execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句; rawQuery()方法用于执行select语句。
execSQL()方法的使用例子:
SQLiteDatabase db = ....;
db.execSQL(&insert into person(name, age) values('测试数据', 4)&);
db.close();
执行上面SQL语句会往person表中添加进一条记录,在实际应用中, 语句中的&测试数据&这些参数值会由用户输入界面提供,如果把用户输入的内容原样组拼到上面的insert语句, 当用户输入的内容含有单引号时,组拼出来的SQL语句就会存在语法错误。要解决这个问题需要对单引号进行转义,也就是把单引号转换成两个单引号。有些时候用户往往还会输入像& & &这些特殊SQL符号,为保证组拼好的SQL语句语法正确,必须对SQL语句中的这些特殊SQL符号都进行转义,显然,对每条SQL语句都做这样的处理工作是比较烦琐的。 SQLiteDatabase类提供了一个重载后的execSQL(String sql, Object[] bindArgs)方法,使用这个方法可以解决前面提到的问题,因为这个方法支持使用占位符参数(?)。使用例子如下:
SQLiteDatabase db = ....;
db.execSQL(&insert into person(name, age) values(?,?)&, new Object[]{&测试数据&, 4});&
db.close();
execSQL(String sql, Object[] bindArgs)方法的第一个参数为SQL语句,第二个参数为SQL语句中占位符参数的值,参数值在数组中的顺序要和占位符的位置对应。
Insert()方法用于添加数据,各个字段的数据使用ContentValues进行存放。 ContentValues类似于MAP,相对于MAP,它提供了存取数据对应的put(String key, Xxx value)和getAsXxx(String key)方法,& key为字段名称,value为字段值,Xxx指的是各种常用的数据类型,如:String、Integer等。
SQLiteDatabase db = databaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(&name&, &测试数据&);
values.put(&age&, 4);
long rowid = db.insert(&person&, null, values);//返回新添记录的行号,与主键id无关
不管第三个参数是否包含数据,执行Insert()方法必然会添加一条记录,如果第三个参数为空,会添加一条除主键之外其他字段值为Null的记录。Insert()方法内部实际上通过构造insert SQL语句完成数据的添加,Insert()方法的第二个参数用于指定空值字段的名称,相信大家对该参数会感到疑惑,该参数的作用是什么?是这样的:如果第三个参数values 为Null或者元素个数为0, 由于Insert()方法要求必须添加一条除了主键之外其它字段为Null值的记录,为了满足SQL语法的需要, insert语句必须给定一个字段名,如:insert into person(name) values(NULL),倘若不给定字段名 , insert语句就成了这样: insert into person() values(),显然这不满足标准SQL的语法。对于字段名,建议使用主键之外的字段,如果使用了INTEGER类型的主键字段,执行类似insert into person(personid) values(NULL)的insert语句后,该主键字段值也不会为NULL。如果第三个参数values 不为Null并且元素的个数大于0 ,可以把第二个参数设置为null。
作者:chang_xing}

我要回帖

更多关于 oracle insert 单引号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信