JSP怎样链接数据库

JSP怎样链接数据库,第1张

难得讲:

直接连接和关闭代码:

private static final String DRIVER = "commicrosoftsqlserverjdbcSQLServerDriver";// 驱动类

private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=paipaiDB";// 连接URL地址

private static final String USER = "sa";// 数据库用户名

private static final String PWD = "123";// 数据库用户密码

/

与数据库建立连接

@return

@throws ClassNotFoundException

@throws SQLException

/

public static Connection getCon() throws ClassNotFoundException,

SQLException {

Connection con = null;

ClassforName(DRIVER);

con = DriverManagergetConnection(URL, USER, PWD);

return con;

}

/

关闭所有与数据库的连接对象

@param res

结果集对象

@param pstat预编义对象

@param con连接对象

/

public static void closeAll(ResultSet res, PreparedStatement pstat,

Connection con) {

if (res != null) {

try {

resclose();

} catch (SQLException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

}

if (pstat != null) {

try {

pstatclose();

} catch (SQLException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

}

try {

if (con != null && !conisClosed()) {

conclose();

}

} catch (SQLException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

}

用JDBC技术\x0d\创建数据库连接,分为以下几步:\x0d\1装载并注册数据库的JDBC驱动程序\x0d\2取得数据库连接\x0d\3建立Statement 对象\x0d\4准备并执行调用SQL语句\x0d\5处理ResultSet中的记录集\x0d\6释放资源\x0d\第一步\x0d\加载驱动程序\x0d\ try{ //装载MySQL数据库驱动\x0d\ ClassforName("commysqljdbcDriver");\x0d\ }\x0d\ catch(ClassNotFoundException e) \x0d\ { \x0d\ eprintStackTrace();\x0d\ }\x0d\注意:在使用JDBC之前,要在文件前导入有关SQL的类即\x0d\ import javasql\x0d\第二步\x0d\取得数据库连接\x0d\try{\x0d\String url="jdbc:mysql://localhost:3306/student;\x0d\String user="root";\x0d\String password="1234";\x0d\con=DriverManagergetConnection(url,user,password);\x0d\}\x0d\catch(SQLException e)\x0d\{\x0d\ eprintStackTrace();\x0d\ }\x0d\第三步\x0d\建立Statement 对象\x0d\try{\x0d\ Statement sql=concreateStatement();\x0d\ }\x0d\catch(SQLException e)\x0d\ {\x0d\ eprintStackTrace();\x0d\ }\x0d\第四步\x0d\执行各种SQL语句\x0d\try{\x0d\ ResultSet rs=sqlexecuteQuery(\x0d\ "select from student");\x0d\ }\x0d\catch(SQLException e)\x0d\ {\x0d\ eprintStackTrace();\x0d\ }\x0d\第五步\x0d\获取查询结果\x0d\ ResultSet rs=sqlexecuteQuery(\x0d\ "select from student");\x0d\ while(rsnext())\x0d\ {\x0d\ rsgetString(2)或者是rsgetString("name");\x0d\ rsgetInt(3)或者是rsgetInt("age");\x0d\ }\x0d\注意\x0d\只有select语句才会有结果集返回;\x0d\ResultSet对象一次只能看到一个数据行\x0d\使用next()方法走到下一数据行\x0d\获得一行数据后,ResultSet对象可以使用getXxx()方法获得字段值,将位置索引或字段名传递给get第六步\x0d\关闭创建的各个对象(后打开的先关)\x0d\ rsclose();\x0d\ sqlclose();\x0d\ conclose();Xxx方法()即可。

你这应该是一个用户注册程序吧。

首先确定一下你的程序逻辑:

当用户提交注册信息时首先使用CheckUser(userBean set)来判断要注册的用户是否已存在,如果不存在则接着调用Insert(userBean set )将用户注册信息保存到数据库中。如果你程序是按这个逻辑不处理的话自然的,这个程序会报如上错误。

原因:

当执行CheckUser(userBean set)后,程序会将数据库连接关闭,而当程序接着执行下面的Insert(userBean set )时,会因为之前奖数据库连接关闭而无法完成数据库 *** 作。

解决办法有二:

1、将CheckUser(userBean set)方法里的connclose(); 去掉;

2、你这里将获得连接资源的代码放在构造函数里,它只调用一次。因此你可以将数据连接代码使用一个新的方法来封装,每一个用到数据库连接的方法单独调用该方法。

如:

public Connection getConnection(){

try {

ClassforName("commicrosoftjdbcsqlserverSQLServerDriver");

} catch (ClassNotFoundException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

try {

thisconn = DriverManager

getConnection(

"jdbc:microsoft:sqlserver://localhost:1433;databasename=Web_Test","sa","sa");

} catch (SQLException e) {

// TODO 自动生成 catch 块//

eprintStackTrace();

}

return thisconn

}

这样你在方法里可通过下面的方法获取连接。

conn = getConnection();

因此你的CheckUser(userBean set)可改成如下:

public boolean CheckUser(userBean set){

try {

conn = getConnection(); //这里是给你修改的

pstm = connprepareStatement("select userPWD from userInfo where userName= ");

pstmsetString(1,setgetUserName());

rs = pstmexecuteQuery();

if (rsnext()) {

if (rsgetString(1)equals(setgetUserPassword())){

return true;

}

}

connclose();

pstmclose();

rsclose();

} catch (SQLException e) {

// TODO 自动生成 catch 块

eprintStackTrace();

}

return false;

}

其它方法也是一样。

以上就是关于JSP怎样链接数据库全部的内容,包括:JSP怎样链接数据库、在jsp编程中如何连接数据库、jsp数据库连接问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9403417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存