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

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 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含