当我尝试更新下面的表记录时,我收到错误
方法 - 1:
String jsonText = "{"id":100,"nickname":"yash","name":"Rahul"}"
Statement st3 = con.createStatement();
st3.executeUpdate("UPDATE comment SET c_wt ="+c_newwt+",c_Jsonwt ="+jsonText+" WHERE c_id="+c_id);
而且,当我这样做时它会得到更新
方法-2:
Statement st3 = con.createStatement();
st3.executeUpdate("UPDATE comment SET c_wt ="+c_newwt+",c_Jsonwt ="+"'{"id":100,"nickname":"yash","name":"Rahul"}'"+" WHERE c_id="+c_id);
我需要使用方法1更新表格。任何人都可以解决我的问题吗?感谢。
答案 0 :(得分:1)
您在SQL中没有包含带有“”的JSON,请使用以下内容。您还需要转义“JSON中的标记并在String声明中添加分号
”String jsonText = "{\"id\":100,\"nickname\":\"yash\",\"name\":\"Rahul\"}";
Statement st3 = con.createStatement();
st3.executeUpdate("UPDATE comment SET c_wt ="+c_newwt+",c_Jsonwt ='"+jsonText+"' WHERE c_id="+c_id);
答案 1 :(得分:1)
有一些缺失的引号:'"+jsonText+"'
st3.executeUpdate("UPDATE comment SET c_wt ="+c_newwt+",c_Jsonwt ='"+jsonText+"' WHERE c_id="+c_id);
答案 2 :(得分:0)
我会建议像
这样的东西String jsonText = "{\"id\":100,\"nickname\":\"yash\",\"name\":\"Rahul\"}";
Statement st3 = con.createStatement();
st3.executeUpdate("UPDATE comment SET c_wt ="+c_newwt+",c_Jsonwt =\""+jsonText+"\" WHERE c_id="+c_id);
看起来很多引号都需要转义。