想要进行数据库查询语句 从视图jsp中得到参数 怎么把这个参数从String转换为数据库中定义的varchar(10)

Stringstuid1=request.getParameter("stuid").trim();Stringcno=request.getParameter("cno... String stuid1=request.getParameter("stuid").trim();
String cno=request.getParameter("cno").trim();
String grade1=request.getParameter("grade").trim();
int stuid=Integer.parseInt(stuid1);
int grade=Integer.parseInt(grade1);
上面为取参数
int rs=sm.executeUpdate("UPDATE stugrade SET grade="+grade+" WHERE cno=' "+cno+" ' AND stuid="+stuid);
这条更新语句的cno的地方类型不匹配
因为我当时定义数据库的cno的属性为varchar(10)
想知道如何改正呢?
展开
 我来答
水色浮云
2013-06-16 · TA获得超过604个赞
知道小有建树答主
回答量:222
采纳率:100%
帮助的人:275万
展开全部

是你GRADE字符串取值后,拼接成SQL语句时,没有加单引号的问题

改成:

int rs=sm.executeUpdate("UPDATE stugrade SET grade=' "+grade+" ' WHERE cno=' "+cno+" ' AND stuid="+stuid);

SQL语句里,字符串必须用单引号,INT类型不用加引号。

Update xxTable
SET grade = '123grade'
WHERE CNO = '123cno'
AND Stuid = 123
追问
那int类型就直接+stuid+就可以么 还是不用加单引号需要加双引号?
追答
因为你括号里的整个都是 一个字符串,所以你的最终目的就是把这句SQL拼成一个完整的可执行的字符串。
你可以写一个打印语句,把你拼的东西打印出来,看看有没有拼错,这样来检查语句,至于双引号单引号,我不知道你的开发语言规范,我只是做DB开发的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式