想要进行数据库查询语句 从视图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)
想知道如何改正呢? 展开
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)
想知道如何改正呢? 展开
1个回答
展开全部
是你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开发的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询