向前进8868 2013-12-12 13:33 采纳率: 100%
浏览 3508
已采纳

SQLServerException: 没有为参数号 8 设置值

public String getAddMessage()
{ String str="";
Connection con;
PreparedStatement sql;
try { String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=BookStore";
con=DriverManager.getConnection(uri,"sa","sa");
String insertCondition="INSERT INTO Books VALUES (?,?,?,?,?,?,?)";//数据库中第一个字段为id,设为了自动增长
sql=con.prepareStatement(insertCondition);
if(name.length()>0)
{
sql.setString(2,name);
sql.setString(3,author);
sql.setString(4,sort);
sql.setFloat(5,price);
sql.setString(6,publisher);
sql.setString(7,date);
sql.setString(8,introduction);
int m=sql.executeUpdate();
if(m!=0)
{ str="添加"+m+"条书籍信息成功";
ok=true;
}
else
{ str="添加书籍信息失败";
}
}
else
{ str="必须要有图书名称";
}
con.close();
}
catch(SQLException e)
{ str="您还没有填写书籍信息或"+e;
}
return str;
}

  • 写回答

1条回答

  • a_jian 2013-12-13 02:53
    关注

    INSERT INTO Books VALUES (?,?,?,?,?,?,?)
    你如果这个写的话,哪么你就需要把sql.setString(1,id);设值近去才行的
    当然id也可以 UUID.randomUUID().toString() 这样获得的

    也可以改成这样:

    INSERT INTO Books(字段2~字段7) VALUES (?,?,?,?,?,?)
    sql.setString(1,name);
    sql.setString(2,author);
    sql.setString(3,sort);
    。。。。
    。。。
    。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器