我要详细步骤用jdbc连
解决方案 »
- 同一段查询数据库的代码,在别人那里运行正常,在我这返回乱码
- 求一个用google document list api开发的例子
- 【已解决】大家帮我看看,我用Hibernate向DB里存一个对象,竟然报“initialization Error”?
- 碰到一个ZK错误提示信息的问题
- 邮件群发系统设计的思路 请教
- 我用jspsmartupload做上传程序,有一个语法错误
- jsp连接数据库时出错……大家进来帮忙看看吧
- 如何让jsp程序延时1秒钟,然后继续运行?
- 求助登陆页面的问题
- xfire-all-1.2.6jar<--->xfire-core-1.2.6.jar
- 请教一个问题
- 怎么能让首页的响应时间快点????
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;public class DBConnection { private String Driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; private String user = "sa"; private String password = "fuyou";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=pubs"; private Connection con = null;
private Statement stmt = null;
public DBConnection() { try {
Class.forName(Driver); con = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("沒有找到驱动类!");
} catch (SQLException e) {
e.printStackTrace();
}
} public Connection getConnection() {
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) { e.printStackTrace();
}
return con;
} public Statement getStatement() { // 产生结果集可以滚动,可以更新,但不敏感
if (this.con == null) {
this.con = getConnection();
}
try {
stmt = this.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (SQLException e) { e.printStackTrace();
}
return stmt;
} public Statement getPreparedStatement(String sql) { // 预编译结果集可以滚动,可以更新,但不敏感
if (this.con == null) {
this.con = getConnection();
}
try {
stmt = this.con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
} catch (SQLException e) { e.printStackTrace();
}
return stmt;
} public ResultSet executeQuery(String sql) { // 查询方法
ResultSet rs = null;
if (this.con == null) {
this.con = getConnection(); }
stmt = getStatement();
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) { e.printStackTrace();
}
return rs;
} public int executeUpdate(String sql) { // 更新方法,返回更新的记录数
Statement stmt = null;
int num = 0;
if (this.con == null) {
this.con = getConnection();
stmt = getStatement();
}
try {
this.con.setAutoCommit(false);
num = stmt.executeUpdate(sql);
con.commit();
con.setAutoCommit(true);
} catch (SQLException e) { e.printStackTrace();
try {
con.rollback();
} catch (SQLException e1) { e1.printStackTrace();
}
}
return num;
} public void closeResultset(ResultSet rs) { // 关闭结果集
if (rs != null) {
try {
rs.close();
} catch (SQLException e) { e.printStackTrace();
}
}
} public void closeStatement() {// 关闭stmt
if (this.stmt != null) {
try {
this.stmt.close();
} catch (SQLException e) { e.printStackTrace();
}
}
} public void closeConection() { // 关闭con
if (this.con != null) {
try {
this.con.close();
} catch (SQLException e) { e.printStackTrace();
}
}
}
}
要配置数据源-如下:
控制面板-管理工具-数据源
选择system dsn 点击 add 选择sql server 完成 name : test ;server: local;再下面你应该会了吧!
下面的例子就是odbc数据源是test
package graduate.getconnection;
import java.sql.*;/**
* 数据库连接类
*
*/public class ConnectDB {//数据库连接,执行SQL语句
private Connection con = null;
private Statement stmt = null; public void getCon() {
try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:test", "sa", ""); } catch (Exception e) {
System.out.println("连接错误" + e); }
} public boolean executeUpdate(String sql) {
try {
getCon(); stmt = con.createStatement();
stmt.executeUpdate(sql);
return true;
} catch (Exception e) {
System.out.println("更新错误" + e);
return false;
}
} public ResultSet executeQuery(String sql) {
try {
getCon();
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
return rs;
} catch (Exception e) { System.out.println("查询错误" + e);
return null;
}
} public void closeCon() {
if (con != null) {
try {
stmt.close();
con.close();
} catch (Exception e) {
System.out.println("关闭错误" + e);
}
}
}
}
上面的例子就是odbc数据源是test
这个test是数据源名称要在jdbc:odbc:test用到
2、建web工程
3、将msbase.jar、mssqlserver.jar、msutil.jar这三个sql server的jar驱动加入你的工程库下(直接拷贝到/Web-INF/lib/下即可)
4、编写调用程序,1楼给的程序即可,改一下用户名(user,SQL Server默认是sa),密码(password,默认为空),数据库名(DataBaseName);
5、调用1楼的程序,传参,测试.
6、给分注意:如果你用的是xp系统,如果抛socket异常,你需要装SQL Server补丁,具体请百度查。