在做网页,在my eclipse 中出现java.sql.SQLException: No value specified for parameter 1要怎么处理呢 在执行插入语句的时候出现异常:java.sql.SQLExc...
报错为:SQL第一个条件参数没有值传入。
说明参数传递的有问题或者没传递,就会报这个错误。
举例:
String sql = "select * from users where id=? and passwd=?";
rs = dealDateBase,getRS(sql, user,getUsername(),user,getUserPas());
备注:传递的参数个数必须与赋值的个数类型一致才可以,否则就会报错的。
拓展资料
第一步:新建web工程后,把mysql的连接驱动程序放在lib目录里。
第二步:编写数据库连接程序:import java,sql,Connection;
import java,sql,DriverManager;
public class DbConnection {
@SuppressWarnings("finally")
public Connection getConnection()
{
String driver ="com,mysql,jdbc,Driver";
String url="jdbc:mysql://localhost:3306/newssystem";
String user="root";
String password="0211";
Connection conn=null;
//加载驱动程序以连接数据库
try {
Class,forName( driver );
conn = DriverManager,getConnection(
url, user, password );
}
catch ( ClassNotFoundException cnfex ) {
System,err,println("数据库连接异常!!"+cnfex,getMessage());
}finally
{
return conn;
}
}
}
第三步:编写数据库操作dao类,就是对数据的增删查改。再给你举一个例子吧,这是之前做的一个小项目里,直接复制过来,你参考参考。
public class NewsDao {
Connection con;
// 添加数据
public void insertNews(News news) {
String sql = "insert into news values(0,?,?,?,now(),?,?)";
try {
DbConnection db = new DbConnection();
con = db,getConnection();
PreparedStatement ps = con,prepareStatement(sql);
ps,setString(1, news,getTitle());
ps,setString(2, news,getContent());
ps,setString(3, news,getAuthor());
//ps,setString(4, news,getDate());
ps,setString(4, news,getSort());
ps,setString(5, news,getImage());
ps,executeUpdate();
} catch (Exception e) {
System,err,println("数据库有误:" + e,getMessage());
} finally {
try {
if (con != null)
con,close();
} catch (Exception e2) {
System,err,println("数据库关闭有误:" + e2,getMessage());
}
}
}
}
第四步:在相应的操作类中调用dao类;
这是按照平时的项目实施来的,如果你只是想测试连接数据库,可以这几部综合在一起。不过最后还是按照严格的分层来吧,养成一个好习惯!
报错为:SQL第一个条件参数没有值传入。
说明参数传递的有问题或者没传递,就会报这个错误。
举例:
String sql = "select * from users where id=? and passwd=?";
rs = dealDateBase.getRS(sql, user.getUsername(),user.getUserPas());
备注:传递的参数个数必须与赋值的个数类型一致才可以,否则就会报错的。
elect * from news where typeid=? limit" + (pageid-1)*pagesize+","+pagesize;里面那个问号,你都没有把参数传进去,要通过pst设置进去.
sql语句中有?,没给它set值,怎么查找
我用的MyEclipse连接数据库出现错误java.sql.SQLException: No value specified for parameter 3~
你是不是传参数了 但是sql语句没有接受
比如
应该写成
select * from table a where a.c=?
而你写成
select * from table a where a.c='006'
但是你还传参数了 参数不知道放进什么地方就抱着个错误
java.sql.SQLException: No value specified for parameter 3
这不已经很明显了,第11个参数没有值。。。