JSP中insert语句的格式问题

String sql="insert into bookInfo (bookname,publisher,price) values('"+name+"','"+publisher+"','"+price+"')"; 这句话里面的单引号 双引号 各是什么意思?我看不懂了 去掉单引号就报错

举个例子啊,比如你到数据库查询一本名叫XXXX的书,那么数据里你应该这样写:
select * from bookInfo where name='XXXX' ;对吧。
但到java里面,整个sql是String类型的,所以一定要有双引号
String sql=" select * from bookInfo where name='XXXX' "; 正常的写法是这样的对吧。
如果你的书名是一个变量穿过来的,比如说,String name="XXXX";那么就得这样写了:
String sql=" select * from bookInfo where name=' "+name+" ' "; 这句话拼接成的效果和第一个直接查询数据库是一样的,如果你不写单引号,写成这种
String sql=" select * from bookInfo where name="+name; 那么生成的sql就会成为
select * from bookInfo where name=XXX;这样的话,肯定会报错的

希望对你有帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-16
单引号是因为你用的数据库,有可能是oracle数据库。双引号是为了满足java语法。追问

我用的是MYSQL 数据库 这有没有详细解释啊 我没有听说过 。。。。

JSP中insert语句的格式问题
String sql=" select * from bookInfo where name='XXXX' "; 正常的写法是这样的对吧。如果你的书名是一个变量穿过来的,比如说,String name="XXXX";那么就得这样写了:String sql=" select * from bookInfo where name=' "+name+" ' "; 这句话拼接成的效果和第一个直接查询数据库是...

jsp页面添加一条数据到数据库 输入数字就能加入 输入汉字和字母就显示错...
你把你的insert语句打出来单独执行看看能不能执行。一般这种情况是因为你要添的汉字或字母没用 '' 括上。例如:INSERT ADMIN VALUES(1,2)是没有错误的 INSERT ADMIN VALUES(ABC,中文)是错误的 正确的应该是:INSERT ADMIN VALUES('ABC','中文')...

jsp中插入一行数据 javax.servlet.ServletException: java.sql.SQLExcep...
参数个数不对,楼主仔细看一下你表中属性的个数以及顺序是否和你insert函数中的参数对应。

JSP页面 Syntax error, insert "}" to complete Block 求大神解救...
这个主要是因为 jsp 代码出错了。我之前报过类似的错误。是因为我的jsp代码里面,将 onclick="change(${entity.id})"这个写法错误,修改为 onclick="change('${entity.id}')"加了单引号 js代码部分就不报这个错了 然后我看了你的代码,发现你jsp中代码 修改为 就不会报这个错误了。

jsp中遇到的问题。。急,
1、你的SQL语句里面,向表中插入数据的时候,提供的列的数目,和你提供的列的值的数目不一致。比如:insert into test(name, age) values('name1'),这个时候,你提供了两列,却只给出了一列的值。2、第二个错误,是说你插入数据的时候,数据类型不匹配。比如:insert into test (name, age) ...

我用数据库insert 插入到表的文字字符怎么都是问号?
编码出现错误了,一般编码有GBK GB2312 UTF-8 ISO8856-1 如果需要编码转换的话,就可能出现乱码 UTF-8支持的语言最广,将编码设置为UTF-8就可以搞定了,不知道你用得是什么语言,查查用哪个方法可以设置,比如JSP,request.setCharacterEncoding("UTF-8");希望对你有帮助。。。

ASP insert的问题
先说一句,没有单独的INSERT,只有INSERT INTO。INSERT INTO是SQL语法,不管是ASP还是JSP或者什么都是一样的。和具体什么语言没什么关系。INSERT INTO Table_Name(Item_A, Item_B) VALUES(Value_A, Value_B);注:Table_Name是表名;Item_A,Item_B是表中的字段;Value_A,Value_B是字段Item_A,...

【jsp数据库】为什么插到数据库的信息 全部变成了0?
你SQL语句写错了... values 后面直接跟列的值就可以不,不可以用列名=值的方式。正确的的写法是:INSERT INTO book(bookid,bookname,category,intro,img)VALUES ('10','jsp网站设计',''电子商务',''jsp是动态网页设计','static\/images\/6.jpg')推荐将INSERT INTO book(bookid,bookname,category,...

...Microsoft Access 驱动程序] INSERT INTO 语句的语法错误。_百度知 ...
前两天研究了下access的访问 我认为出现问题的原因可能是你写的insert语句中添加的都为字符串,而你access数据库中的字段有可能有些字段为数字等类型。

...jsp中的title标签中的insert title here这句话乱码了?求具体解决...
<%@ page language="java" pageEncoding="UTF-8"%> 浏览器编码utf8

相似回答
大家正在搜