相关文章
更多最近更新
更多spring的jdbctemplet的queryforObject()有异常,不知道原因
2019-03-25 13:51|来源: 网路
public String execute()throws Exception{
if("save".equals(actionStr)){
sql = "update DY_Topic_Group set TGName='"+tgname+"',"+
"TDetail='"+tdetail+"' where TGID="+tgid;
if(dbu.update(sql)){ //更新课程资料
message = "课程资料保存成功<br>";
}
else{
message = "未知错误,课程资料保存失败<br>";
}
sql = "select 1 from DY_User where URole=1 and UName='"+uname+"'"; //查看该用户是否是老师
if(!dbu.isExist(sql)){ //如果该用户是老师
message += "为课程指定老师失败,因为该用户不是老师";
}
else{
sql = "select TUID from DY_TU where TGID="+tgid+" and UID=(select UID from"+
" DY_User where UName='"+uname+"')"; //搜出该课程和老师ID的关系记录主键
System.out.println("1");
String tuid = dbu.getStringInfo(sql);
System.out.println(tuid);
sql = "update DY_TU set UID=(select UID from DY_User where UName='"+uname+
"') where TUID="+tuid;
System.out.println("3");
if(dbu.update(sql)){
message += "修改课程老师资料修改成功";
}
else{
message += "未知错误,老师信息修改失败";
}
}
}
上面是给一门课程指定一个老师,下面是dbutil里面的getstringinfo方法public class DBUtil{
private JdbcTemplate jt; //声明JdbcTemplate对象引用
private List rl = null; //声明List对象引用
private String sql = null; //声明SQL字符串引用
private DataSource ds; //声明DataSource引用
private DataSourceTransactionManager dtm;
private DefaultTransactionDefinition dtd;
此处省略一些代码。。。。。。。
public String getStringInfo(String sql){
String info = null; //声明返回字符串引用
try{
sql = new String(sql.getBytes(),"iso8859-1");//对SQL语句转码
System.out.println("p");
info = (String)jt.queryForObject(sql,String.class); //执行查询
System.out.println("o");
info = new String(info.getBytes("iso8859-1"),"gbk");//对查询的字符串转码
System.out.println("i");
}
catch(Exception e){
info = null;//有异常发生则info置为null
System.out.println("u");
}
return info; //返回查询结果
}
下面是tomcat服务器上的输出
=============拦截器=============2011-4-2 21:24:36
isExist select 1 from DY_User where URole=1 and UName='w'
1
p
u
null
3
通过输出u 和 null 说明有异常,但我不知道为什么会有异常
if("save".equals(actionStr)){
sql = "update DY_Topic_Group set TGName='"+tgname+"',"+
"TDetail='"+tdetail+"' where TGID="+tgid;
if(dbu.update(sql)){ //更新课程资料
message = "课程资料保存成功<br>";
}
else{
message = "未知错误,课程资料保存失败<br>";
}
sql = "select 1 from DY_User where URole=1 and UName='"+uname+"'"; //查看该用户是否是老师
if(!dbu.isExist(sql)){ //如果该用户是老师
message += "为课程指定老师失败,因为该用户不是老师";
}
else{
sql = "select TUID from DY_TU where TGID="+tgid+" and UID=(select UID from"+
" DY_User where UName='"+uname+"')"; //搜出该课程和老师ID的关系记录主键
System.out.println("1");
String tuid = dbu.getStringInfo(sql);
System.out.println(tuid);
sql = "update DY_TU set UID=(select UID from DY_User where UName='"+uname+
"') where TUID="+tuid;
System.out.println("3");
if(dbu.update(sql)){
message += "修改课程老师资料修改成功";
}
else{
message += "未知错误,老师信息修改失败";
}
}
}
上面是给一门课程指定一个老师,下面是dbutil里面的getstringinfo方法public class DBUtil{
private JdbcTemplate jt; //声明JdbcTemplate对象引用
private List rl = null; //声明List对象引用
private String sql = null; //声明SQL字符串引用
private DataSource ds; //声明DataSource引用
private DataSourceTransactionManager dtm;
private DefaultTransactionDefinition dtd;
此处省略一些代码。。。。。。。
public String getStringInfo(String sql){
String info = null; //声明返回字符串引用
try{
sql = new String(sql.getBytes(),"iso8859-1");//对SQL语句转码
System.out.println("p");
info = (String)jt.queryForObject(sql,String.class); //执行查询
System.out.println("o");
info = new String(info.getBytes("iso8859-1"),"gbk");//对查询的字符串转码
System.out.println("i");
}
catch(Exception e){
info = null;//有异常发生则info置为null
System.out.println("u");
}
return info; //返回查询结果
}
下面是tomcat服务器上的输出
=============拦截器=============2011-4-2 21:24:36
isExist select 1 from DY_User where URole=1 and UName='w'
1
p
u
null
3
通过输出u 和 null 说明有异常,但我不知道为什么会有异常
相关问答
更多-
北京有好一点的软件测试培训机构吗?[2022-03-14]
不知道 -
德州哪里计算机培训班好~最好能星期天学的[2022-02-05]
不知道 -
北京的电脑二级培训班有哪些?[2022-06-18]
不知道 -
是不是有一款什么手机软件,可以很自然的拉长腿部?不是美图秀秀,有知道的不?[2022-10-20]
spring -
春天的英语怎么读?[2022-05-21]
spring -
Java执行的地方与文件的位置有区别。 它不是从类所在的同一目录中查找。 由于它已打包,因此您需要将其添加到路径中。 试试像这样: new File(System.getProperty("user.dir") + "/A2/" + "WorldSeriesWinners.txt") There is a difference between where Java is being executed, and where the file is. It isn't looking from the ...
-
具有BigDecimal的Spring JDBC queryForObject失败(Spring JDBC queryForObject with BigDecimal fails)[2022-05-19]
我认为JdbcTemplate.queryForObject(String sql, RowMapperrowMapper, Object... args)用于将ResultSet绑定到Beans / POJO。 你需要另一个重载版本queryForObject(String sql, Class requiredType, Object... args) ,即 public T queryAsScalar(Class scalarClass, String sql, Objec ...