向前进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 运筹学中在线排序的时间在线排序的在线LPT算法
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧