已有101人关注
Java连接SQLServer的问题。
发表在Java图书答疑 2009-03-05
是否精华
版块置顶:
public class JDBConnection {
private String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatebaseName=db_shopping";
public Connection connection = null;

public JDBConnection() {
try {
Class.forName(dbDriver).newInstance(); // Load database driver
connection = DriverManager.getConnection(url); // Load
// database
// connection.setAutoCommit(true);
} catch (Exception e) {
System.out.println("Error to load database!");
}
}
}

public class MemberDao {
private Connection connection = null;
private PreparedStatement ps = null;
JDBConnection jdbc = null;

public MemberDao() {
jdbc = new JDBConnection();
connection = jdbc.connection;
}

public boolean updatePassword(String password, Integer id) {
try {
ps = connection
.prepareStatement("update tb_member set password=? where id=?");
ps.setString(1, password);
ps.setInt(2, id.intValue());
ps.executeUpdate();
ps.close();
// connection.commit();
return true;
} catch (SQLException ex) {
return false;
}
}
}

public class TestDao extends TestCase {
public void testDao() throws SQLException {
MemberDao mem = new MemberDao();
mem.updatePassword("HappyNewYear", Integer.valueOf(19));
}
}

以上代码执行无错误,为什么数据库里的值没有改变?而如下代码则可行:
public class TestData {
public static void main(String[] args) throws SQLException, Exception {
/*try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager
.getConnection("jdbc:microsoft:sqlserver://localhost:1433;User=sa;Password=;DatabaseName=db_shopping");
Statement stmt = conn.createStatement();
String sql = "select * from tb_member";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString("id"));
}

} catch (Exception ex) {
System.err.println(ex.getMessage());
}
        }
}
分享到:
精彩评论 1
9527
学分:0 LV1
2009-03-06
沙发

上面代码没有错误的原因是你在异常处理的时候并没有将异常信息输出到控制台中,而直接返回了。所有发生了异常你也看不到。

你先看一下数据库中有没有id号为19的这一条记录。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照