求助,大神们能来看看这里是出什么问题了吗

h77677 2018-05-02 05:27:56
tableModel.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e){
try{ 连接什么的就不写了
int columnID = table.getSelectedColumn();
int rowID = table.getSelectedRow();
DefaultTableModel dtm = (DefaultTableModel) table.getModel();
Object selectValue=dtm.getValueAt(rowID,columnID);
String colName=dtm.getColumnName(columnID);
Object id=dtm.getValueAt(rowID,0);
System.out.println(selectValue);
System.out.println(id);
System.out.println(colName);
System.out.println(columnID);
System.out.println(rowID);
PreparedStatement psta=conn.prepareStatement("update goods set '"+colName+"'='"+selectValue+"' where 商品号='"+id+"'");
//PreparedStatement psta=conn.prepareStatement("update goods set 类别='饮料' where 商品号='3'");
psta.executeUpdate();


输出结果:
33
2
数量
2
0
com.microsoft.sqlserver.jdbc.SQLServerException: '数量' 附近有语法错误。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1655)
....
而且呢个注释掉的语句是可以正常运行的
...全文
265 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
h77677 2018-05-03
  • 打赏
  • 举报
回复
非常感谢~~~~
Braska 2018-05-02
  • 打赏
  • 举报
回复

conn.prepareStatement("update goods set "+colName+"='"+selectValue+"' where 商品号='"+id+"'");
QWERT4745 2018-05-02
  • 打赏
  • 举报
回复
colName是列名,不需要加单引号

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧