错误提示:com.microsoft.sqlserver.jdbc.SQLServerException: 不能将值 NULL 插入列 'userName',表 'Book.dbo.t_users';列不允许有空值。INSERT 失败。
代码如下:package cn.com.systop.l02;import cn.com.systop.l02.UsersDAO;
import cn.com.systop.l02.Users;public class UsersDAOImpl extends BaseDAO implements UsersDAO { // 用户注册
public int save(Users users) {
int row = 0;
String sql = "INSERT INTO t_users VALUES(?,?)";// 带输入参数的SQL语句
// 创建String数组放置输入参数的值
String[] param = { users.getUserName(), users.getUserPass() };
try {
// 调用父类的executeSQL方法,返回受影响的行数。
row = super.executeSQL(sql, param);
} catch (Exception e) {
e.printStackTrace();
}
return row;
} // 修改密码
public int update(Users users) {
int row = 0;
String sql = "UPDATE t_users SET userPass = ? WHERE userID = ?";// 带输入参数的SQL语句
// 创建String数组放置输入参数的值
String[] param = { users.getUserPass(), users.getUserID() + "" };
try {
// 调用父类的executeSQL方法,返回受影响的行数。
row = super.executeSQL(sql, param);
} catch (Exception e) {
e.printStackTrace();
}
return row;
}
// 登录验证
public Users doLogin(String userName, String passWord) {
Users users = null;
String sql = "SELECT * FROM t_users WHERE userName=? AND userPass=?";// SQL语句
try {
super.getConnection();// 调用父类方法获取数据库连接
pstm = con.prepareStatement(sql);// 创建预编译的SQL语句对象
// 设置输入参数的值
pstm.setString(1, userName);
pstm.setString(2, passWord);
rs = pstm.executeQuery();// 执行sql语句,返回结果集。
if (rs.next()) {
// 如果用户名和密码都正确遍历结果集创建用户对象封装数据
users = new Users();
users.setUserID(rs.getInt(1));
users.setUserName(rs.getString(2));
users.setUserPass(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
super.closeAll();// 释放数据库资源
}
return users;// 返回用户对象
}
}
代码如下:package cn.com.systop.l02;import cn.com.systop.l02.UsersDAO;
import cn.com.systop.l02.Users;public class UsersDAOImpl extends BaseDAO implements UsersDAO { // 用户注册
public int save(Users users) {
int row = 0;
String sql = "INSERT INTO t_users VALUES(?,?)";// 带输入参数的SQL语句
// 创建String数组放置输入参数的值
String[] param = { users.getUserName(), users.getUserPass() };
try {
// 调用父类的executeSQL方法,返回受影响的行数。
row = super.executeSQL(sql, param);
} catch (Exception e) {
e.printStackTrace();
}
return row;
} // 修改密码
public int update(Users users) {
int row = 0;
String sql = "UPDATE t_users SET userPass = ? WHERE userID = ?";// 带输入参数的SQL语句
// 创建String数组放置输入参数的值
String[] param = { users.getUserPass(), users.getUserID() + "" };
try {
// 调用父类的executeSQL方法,返回受影响的行数。
row = super.executeSQL(sql, param);
} catch (Exception e) {
e.printStackTrace();
}
return row;
}
// 登录验证
public Users doLogin(String userName, String passWord) {
Users users = null;
String sql = "SELECT * FROM t_users WHERE userName=? AND userPass=?";// SQL语句
try {
super.getConnection();// 调用父类方法获取数据库连接
pstm = con.prepareStatement(sql);// 创建预编译的SQL语句对象
// 设置输入参数的值
pstm.setString(1, userName);
pstm.setString(2, passWord);
rs = pstm.executeQuery();// 执行sql语句,返回结果集。
if (rs.next()) {
// 如果用户名和密码都正确遍历结果集创建用户对象封装数据
users = new Users();
users.setUserID(rs.getInt(1));
users.setUserName(rs.getString(2));
users.setUserPass(rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
super.closeAll();// 释放数据库资源
}
return users;// 返回用户对象
}
}
解决方案 »
- java 浮点数转换 百分求解,今晚结贴!
- JAVA中接口(interface)中的成员变量为什么public static final 的?
- 请问remove方法为什么移除不了啊?
- 遗传算法写一个排课系统,CS架构的。。。
- java构建三维模型,请高手指点迷津。。
- 200分救命呀,如何能唯一获得选择的JTree的结点呀,分不够再给,过年了嘛
- 谈谈 Class.ClassForName
- 可以在JBuilder7的一个.jpx文件中做多个Application吗?
- 我要转换到另一个论坛怎么办?
- 有Sock方面的高手吗?
- 请教考题:用对象作为map键时,重写equals和hashcode方法的问题
- awt,swing如何嵌入html网页
然后把这个字段设置成可以为空就行了。
它不是都跟题提醒了不能插入空值吗