社区
Web 开发
帖子详情
为什么取不到值?
jlsyyz01
2010-02-02 01:07:33
String b="5";
String a="gz='"+b+"'"; //让用户自定义得来的要更新的字段
String sql="update tab set '+a+'; // 想把gz字段值更新成5
con1.executeUpdate(sql); //执行后gz字段值更新不成功
如何加以改正?
...全文
208
28
打赏
收藏
为什么取不到值?
String b="5"; String a="gz='"+b+"'"; //让用户自定义得来的要更新的字段 String sql="update tab set '+a+'; // 想把gz字段值更新成5 con1.executeUpdate(sql); //执行后gz字段值更新不成功 如何加以改正?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hnnxzhoujia
2010-02-05
打赏
举报
回复
特殊字符,使用转义符。
鹰视狼顾
2010-02-03
打赏
举报
回复
这个东西你可以syso下试试嘿。。。。
鹰视狼顾
2010-02-03
打赏
举报
回复
String b="5";
String a="gz='"+b+"'"; //让用户自定义得来的要更新的字段
String sql="update tab set "+a+""; // 想把gz字段值更新成5
con1.executeUpdate(sql); //执行后gz字段值更新不成功
应该是这个样子滴!!!
doniks
2010-02-03
打赏
举报
回复
[Quote=引用楼主 jlsyyz01 的回复:]
String b="5";
String a="gz='"+b+"'"; //让用户自定义得来的要更新的字段
String sql="update tab set '+a+'; // 想把gz字段值更新成5
con1.executeUpdate(sql); //执行后gz字段值更新不成功
如何加以改正?
[/Quote]
String b = "5";
String a = "gz= "+b;
String sql = "update tab set " + a;
con1.executeUpdate(sql);
魔法骚年小成
2010-02-02
打赏
举报
回复
学习学习
jlsyyz01
2010-02-02
打赏
举报
回复
lovingpig 如我按你的这个方法实现,我是实现从Excel表中循环读值给 数组a, PreparedStatement ps = con.prepareStatement(sql); 是写在循环体外吧?能明白我的意思吗?你的QQ号是多少?
String sql = "update tab set gz1=?,gz2=? where xh='"+xh+"'";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,a[i]);
ps.executeQuery();
lovingpig
2010-02-02
打赏
举报
回复
不明白楼主下面两句的用意:
String b0="1";
String b1="2";
用楼主的代码 sql生成的是
update tab set gz1=b0,gz2=b1
如果楼主想把值更新成b0 b1那就要加引号
但是楼主 String b0="1"; String b1="2"; 这两句代码着实诡异 不知道想干嘛
lovingpig
2010-02-02
打赏
举报
回复
如果不固定那就没有办法
tring cx="gz1=,gz2=";
String[] myArr = cx.split( ",");
String aa="";
for(int i=0;i < myArr.length;i++)
{
aa+=myArr[i]+"
'
b"+String.valueOf(i)+"
'
,";
}
aa = aa.substring(0,aa.length() - 1);
String b0="1";
String b1="2";
String sql="update tab set "+aa;
jlsyyz01
2010-02-02
打赏
举报
回复
[Quote=引用 16 楼 lovingpig 的回复:]
楼主你的for循环只是在拼字符串吧 为什么要把execute语句也放进去呢?
还有你的代码写的太纠结了 试试下面的代码
String sql = "update tab set gz1=?,gz2=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,"1");
ps.setString(2,"2");
ps.executeQuery();
[/Quote]
其实我的赋值变量也是拼起来的,因为要更新的字段也是不固定的。有好的方法吗
awusoft
2010-02-02
打赏
举报
回复
提供QQ远程吧
jlsyyz01
2010-02-02
打赏
举报
回复
[Quote=引用 16 楼 lovingpig 的回复:]
楼主你的for循环只是在拼字符串吧 为什么要把execute语句也放进去呢?
还有你的代码写的太纠结了 试试下面的代码
String sql = "update tab set gz1=?,gz2=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,"1");
ps.setString(2,"2");
ps.executeQuery();
[/Quote]
对是在拼字符串呀,如果按照我的思路应如何改呢?
lovingpig
2010-02-02
打赏
举报
回复
楼主你的for循环只是在拼字符串吧 为什么要把execute语句也放进去呢?
还有你的代码写的太纠结了 试试下面的代码
String sql = "update tab set gz1=?,gz2=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,"1");
ps.setString(2,"2");
ps.executeQuery();
awusoft
2010-02-02
打赏
举报
回复
不知道你这样写....值呢?
String cx="gz1=,gz2="; //由用户自定得来的字符串
String[] myArr = cx.split( ","); //拆分
String aa="";
for(int i=0;i < myArr.length;i++)
{
aa+=myArr[i]+" '" +"b"+String.valueOf(i)+"' "+",";
}
aa = aa.substring(0,aa.length() - 1); //去掉最后的逗号
String sql="update tab set "+aa; //生成sql
jlsyyz01
2010-02-02
打赏
举报
回复
没办法贴源码吧,说不清楚了,看看哪里的错。刚才贴错了
String cx="gz1=,gz2="; //由用户自定得来的字符串
String[] myArr = cx.split( ","); //拆分
String aa="";
for(int i=0;i < myArr.length;i++)
{
aa+=myArr[i]+"b"+String.valueOf(i)+",";
}
aa = aa.substring(0,aa.length() - 1); //去掉最后的逗号
String b0="1";
String b1="2";
String sql="update tab set "+aa; //生成sql
con1.executeUpdate(sql); //执行后gz1,gz2字段值更新不成功
jlsyyz01
2010-02-02
打赏
举报
回复
没办法贴源码吧,说不清楚了,看看哪里的错。
String cx="gz1=,gz2="; //由用户自定得来的字符串
String[] myArr = cx.split( ","); //拆分
for(int i=0;i < myArr.length;i++)
{
String aa="";
aa+=myArr[i]+"b"+String.valueOf(i)+",";
aa = aa.substring(0,aa.length() - 1); //去掉最后的逗号
String b0="1";
String b1="2";
String sql="update tab set "+aa; //生成sql
con1.executeUpdate(sql); //执行后gz1,gz2字段值更新不成功
awusoft
2010-02-02
打赏
举报
回复
update tab set gz='"+b+"'
你说输出这个???我不太相信一个"不是那么容易输出的
awusoft
2010-02-02
打赏
举报
回复
要的就是这个啊
jlsyyz01
2010-02-02
打赏
举报
回复
sql 输出后是 update tab set gz='"+b+"'
变量与字符串混淆了,变量都当字符输出了。
yuzhangqu
2010-02-02
打赏
举报
回复
楼上的都回答得差不多了,我总结一下。
一、gz字段的类型可能是数字,那么String a="gz='"+b+"'"; 应该改成String a="gz="+b; 否则造成类型不匹配。
二、String sql="update tab set '+a+'; 应该改成String sql="update tab set "+a;
三、你的sql相当危险,没有任何条件语句。如果成功,将更新所有数据的gz字段。
四、最后,请确认table和字段的名字拼写正确。
awusoft
2010-02-02
打赏
举报
回复
[Quote=引用 1 楼 crazylaa 的回复:]
String sql="update tab set '+a+'; // 想把gz字段值更新成5
---->
String sql="update tab set "+a; // 想把gz字段值更新成5
其实你在
con1.executeUpdate(sql); //执行后gz字段值更新不成功
前面加一句
System.out.println(sql);看看sql就知道是多了单引号额
[/Quote]
这个应该是可以的啊
String b="5";
String a="gz='"+b+"'"; //让用户自定义得来的要更新的字段
String str="update tab set ";
str=str+a;
看看有没有报错啊.打印一下SQL测试一下
加载更多回复(8)
BS-XX-086 基于Springboot快递代
取
系统
本次设计研发的这套基于Web的快递代
取
服务管理系统,主要是针对快递物流的最后一道服务需求,为客户提供快递代
取
服务,主要实现的基本功能有以下几个方面:(1)客户可以通过此系统平台进行在线下单;(2)客户可以查询和管理自己的订单情况;(3)接单人员可以在线接单,并管理自己的订单;(4)平台管理员可以管理客户和接单员信息;(5)平台管理员可以管理快递代
取
业务过程中的相关业务数据;(6)平台可以有效的区分不同身份的用户信息;系统只是技术的载体,研发这个快递代
取
系统主要还是想把这几年所学专业知识进行综合性应用一下,研究和学习相关软件工程知识和开发技术及开发环境的应用,具体主要包含如下内容:(1)学习和应用软件工程的相关知识,熟悉软件开发的基本流程;(2)学习和应用基本的开发和工具和设计工具,学会基本的UML图形的绘制,IDEA编码工具的一些应用知识;(3)学习和应用MYSQL数据库,并结合JAVA的相关程序框架来操作数据库;(4)学习和应用SpringBoot框架以及其它几个框架的综合应用,以及CSS+DIV的前端基本布局,JQUERY框架的应用;学习和应用如何对软件系统进行测试工作;
@RequestBody
取
不到
值
?报请求体为空怎么办
ss
@Value为啥
取
不到
值
@Value为啥
取
不到
值
Activity中getIntent为什么获
取
不到
值
?
Activity有四种启动模式,一般为默认。 当Activity的启动模式为singleTask的时候,通过Intent传
值
,getIntent是接收
不到
值
的,为null。 因为不同的启动模式,走的方法也不一样。当页面再次被调用的时候,先走onNewIntent方法再走onRestart。 所以需要重写onNewIntent方法,而且此方法在Activity Finish之后是不执行的。
前端为什么
取
不到
后端接口带过来的sessionID的
值
?
通过document.cookie拿
不到
截图中的sessionID;但是能
取
到csrfTOKEN; 仔细看图 这个sessionID的HTTP状态打了勾,则表示HttpOnly,当这个
值
设为true时,浏览器是无法读
取
这个cookie
值
的,只有服务端能够读
取
。前端不能拿
取
,这是为了防止xss攻击; 尝试修改这个
值
,之后接口请求都会报错为未登录状态; 所以,这个
值
是不让在前端getter,set...
Web 开发
81,087
社区成员
341,733
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章