问题描述
importjava.sql.*;publicclasscr{publicstaticvoidmain(Stringargs[]){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:sj");Statementstmt=con.createStatement();ResultSetrs=stmt.executeQuery("select*fromChemOffice");Stringsj,updatestr,s1,s2;rs=stmt.executeQuery("select*fromChemOffice");while(rs.next())//主要是把表中两个字段取出连接成路径的字符串在放到他的地址字段里{s1=rs.getString(1);s2=rs.getString(4);sj="E:"+"\"+"data"+"\"+s2+"\"+s1+".png";updatestr="UPDATEChemOfficeSETpicture="+sj;//这里主要是为了形成一个目录路径,比如E:data******,png,//估计是路径的字符串不对吧,反正编译没错误,//运行时提示java.sql.SQLException:[Microsoft][ODBCSQLServerDriver][SQLServer]‘E’附近有语法错误stmt.executeUpdate(updatestr);}rs.close();stmt.close();con.close();}catch(Exceptione){System.out.println(e);}}}
解决方案
解决方案二:
检查一下从数据库里面两个字段取出连接成路径的字符串是否有单引号等需要转义的字符
解决方案三:
表中没有转义字符,就是对路径中“”不知道怎么弄
解决方案四:
你可以先将updatestr这个字符串打印出来,然后放到数据库里执行看对不对.
解决方案五:
updatestr="UPDATEChemOfficeSETpicture='"+sj+"'";