java 数据库操作 com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 1 设置值。
publicvoidactionPerformed(ActionEvente){//TODOAuto-generatedmethodstub//定义需要的对象Prepar...
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//定义需要的对象
PreparedStatement ps = null;
ResultSet rs = null;
Connection ct = null;
//加载驱动
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//得到连接
ct = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName =test2","sa","scq355545454");
} catch (ClassNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
if(e.getSource() == jb1) {
str = (String)this.jcb.getSelectedItem();
//System.out.println(str);
if(str.equals(jcob[0])) {
//取出用户名,密码
String id = this.jtf1.getText().trim();
String prs = new String(this.jpf1.getPassword());
try {
//创建
ps = ct.prepareStatement("select username,nserPasswd from users where users.username=? and users.userPasswd=?");
//执行
rs = ps.executeQuery();
System.out.println(rs.getString("username"));
System.out.println(rs.getString("userPasswd"));
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(!(rs.equals(null))) {
JobsOfCompany nw = new JobsOfCompany(this,"注册",true);
}
==========================================================================
报错信息
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 1 设置值。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
这个是一个登陆界面,具体窗体组件代码没粘,粘了连接数据库这块,然后在上边填写用户名,密码,然后连接数据库验证,在跑的时候填写的用户名密码都可以拿到,但是连接数据库后就老是提示这个错误信息 展开
// TODO Auto-generated method stub
//定义需要的对象
PreparedStatement ps = null;
ResultSet rs = null;
Connection ct = null;
//加载驱动
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//得到连接
ct = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName =test2","sa","scq355545454");
} catch (ClassNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
if(e.getSource() == jb1) {
str = (String)this.jcb.getSelectedItem();
//System.out.println(str);
if(str.equals(jcob[0])) {
//取出用户名,密码
String id = this.jtf1.getText().trim();
String prs = new String(this.jpf1.getPassword());
try {
//创建
ps = ct.prepareStatement("select username,nserPasswd from users where users.username=? and users.userPasswd=?");
//执行
rs = ps.executeQuery();
System.out.println(rs.getString("username"));
System.out.println(rs.getString("userPasswd"));
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(!(rs.equals(null))) {
JobsOfCompany nw = new JobsOfCompany(this,"注册",true);
}
==========================================================================
报错信息
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 1 设置值。
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
这个是一个登陆界面,具体窗体组件代码没粘,粘了连接数据库这块,然后在上边填写用户名,密码,然后连接数据库验证,在跑的时候填写的用户名密码都可以拿到,但是连接数据库后就老是提示这个错误信息 展开
1个回答
展开全部
ps = ct.prepareStatement("select username,nserPasswd from users where users.username=? and users.userPasswd=?");
//执行
rs = ps.executeQuery();
你创建的PreparedStatement对象,然后呢SQL语句中的2个?的值你还没注入进去呢就去数据库执行了
所以报错了
//执行
rs = ps.executeQuery();
你创建的PreparedStatement对象,然后呢SQL语句中的2个?的值你还没注入进去呢就去数据库执行了
所以报错了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询