java - 用特定值更新不同的列值
问题描述
一个表有一个名为“分数”的列,具有不同的值。
| 姓名 | 联系方式 | 面积 | 分数 |
| 詹姆斯 | +222451 | 东方|70 |
| 吉米 | +222451 | 爱斯特 | 80 |
| 乔什 | +222451 | ecstp | 50 |
| 约翰 | +222451 | efstp | 60 |
我想用特定值更新所有分数值。例如。用 10 更新所有分数值。
因此值 70 将是 80
值 80 将是 90
值 50 将是 60
值 60 将是 70
请我如何编写代码来实现这一点。
写下这一点,但所有列都更改为相同的值。请帮忙。
int reg = 10;
try {
String sql1 = "select Score from db_table where ID=db_table.ID";
pst = con.prepareStatement(sql1);
rs = pst.executeQuery();
while(rs.next())
{
int ad = rs.getInteger("Score");
int fad = ad+reg;
String sql2 = "update db_table set Score='" + fad + "' where _ID=db_table.ID";
pst = con.prepareStatement(sql2);
pst.execute();
}
} catch(SQLException | HeadlessException e)
{
JOptionPane.showMessageDialog(null,e);
} finally
{
try
{
rs.close();
pst.close();
} catch(Exception e)
{}
}
但无论何时执行,整个列值都将替换为相同的值“10”。而不是每列值应该增加10。请帮助
解决方案
使用以下查询:
UPDATE db_table
SET score = score + 10
所以,基本上你不需要SELECT
先把所有的分数,然后在Java代码中操作它们,然后UPDATE
一个一个地使用。相反,更改Java 代码中的try 块,如下所示:
try
{
String sql1 = "UPDATE db_table Set score = score + " + String.valueOf(reg);
pst = con.prepareStatement(sql1);
rs = pst.executeQuery();
}
推荐阅读
- java - 将几个日期分成小块
- python - “#这是一个字符串”,python如何将其识别为字符串而不是注释?
- r - 在 R 中为逻辑混合模型中的重复测量指定随机效应:lme4::glmer
- java - 基本属性不应该是 - 用我自己的类型
- javascript - 循环对象并根据下一个键值 JavaScript 删除键
- three.js - 在 Three.js 材料中使用矩形纹理与方形纹理的性能权衡?特别是 .basis 纹理
- vb.net - 在 Visual Basic 中为“已添加具有相同键的项目”错误调试 LINQ 语句
- flutter - 如何通过未来
到超级班 - vba - 有什么方法可以使用 vba 解压缩受密码保护的 pkzip 文件
- authentication - 验证服务帐户并执行简单查询