您的位置:首页 > 数据库

使用JDBC驱动程序访问数据库

2012-03-26 23:53 381 查看
5个小时的MySQL果断不会让它白装的!

使用MySQL创建数据库

SQL语句:

CREATE TABLE `user` (
`id` int(11) NOT NULL,
`username` varchar(200) NOT NULL,
`password` varchar(20) NOT NULL,
`age` int,
PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=GBK;

-- JDBC Driver Name: com.mysql.jdbc.Driver
-- JDBC Driver URL: jdbc:mysql://hostname/dbname?useUnicode=true&characterEncoding=GBK




JAVA源程序:

import java.sql.SQLException;
/**
* 第一个 JDBC 的 访问数据库 Mysql 程序.
* @author Administrator
* @version 0.1 2012-03-26
*/
public class JdbcOdbc {

/**
* @param args
* @throws SQLException
*/
public static void main(String[] args)  {
// 1. 注册驱动
try {
Class.forName("com.mysql.jdbc.Driver");// Mysql 的驱动mysql.jar

// 2. 获取数据库的连接
String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK";
java.sql.Connection conn = java.sql.DriverManager.getConnection(
url, "root", "123456");
conn.setCatalog("test");//指定当前数据库

// 3. 获取表达式
java.sql.Statement stmt = conn.createStatement();

// 4. 执行 SQL
java.sql.ResultSet rs = stmt.executeQuery("select * from user");

// 5. 显示结果集里面的数据
while(rs.next()) {
System.out.println(rs.getInt(1) +
" " +rs.getString(2) +
" " + rs.getString(3));
}

// 执行插入数据的 SQL
//        stmt.executeUpdate("insert into user values(2, '中文', '345', 22)");

// 6. 有礼貌的释放资源
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

我制作的垃圾视频:视频: Jdbc驱动程序访问数据库

java.sql.SQLException: Operation not allowed after ResultSet closed

你在第一次使用  rs.next() 之后就把数据库的连接关闭了..

当然下面就不能使用了...应该这样写才对...

while(rs.next())
{
%>
………………
<%
}
rs.close();
st.close();
con.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息