public boolean updateUser(String id,String name,String password,String email,String grade)
{
          boolean b=false;

try
{
ct=new ConDB().getConn();

 stmt=ct.createStatement(); int a=stmt.executeUpdate("update Users set number='"+id+"',userName="+name+",password="+password+",mailBox="+email+",grade="+grade+"'");
             if(a==1)
{
//添加成功
b=true;
}

}catch(Exception e)
{
e.printStackTrace();
}finally
{
this.close();
}


return b;

}
eclipse一直提示我更新语句出错,改了半天没改出来,所以来求教了sql server

解决方案 »

  1.   

    name是什么类型的,password是什么类型的,好像应该用''包一下吧
      

  2.   

    把这条 sql 到数据库执行以下,看看是啥错
      

  3.   

    id应该是int类型吧,而name和password应该是varchar类型的,你查看下是不是''写错了地方。。varchar才需要“‘+name+’”
      

  4.   

    ="+grade+"'");多了个单引号
    还有最好使用预编译,拼接sql不可取 很容易出错,还很容易sql注入
                 
      

  5.   

    system.out.println 把sql打出来看看,估计是写错了
      

  6.   

    你要更新哪个字段?where呢?