自己看了一下午的数据库,终于在java中实现了连接,曾经从网上也看过不少,虽然都写得不错,但是我感觉如果按照他们说的做的话,很多时候不行,或者有的地方太模糊,因为弄懂了之后,再写的话就感觉很容易,但是一点都不会的话,就感觉有点抽象,所以我测试成功了之后,也想具体的说一下,仅供菜鸟参考:
自己使用的是JDBC-ODBC桥连接
首先得安装了sql2000(下面的都是在已经安装了sql2000的前提下操作)
然后你得确保在企业管理器中打开数据库后,自己建一个数据库data1(或者用默认的),在此数据库中新建一个表,如:table1
设计表完成后、打开表,输入内容,(假定此表内容包含:姓名、编号、性别、年龄、生日、部门;一共六列内容,每列的值都是char(大小自己决定)类型的)
在编写程序之前,先建立数据库步骤如下:(记住先将服务器启动!!!!)
1 设定ODBC数据源
点击下一步:将窗口上面的“更改默认的数据库为”选中,填入data1,再点击下一步,就连接完成了,
可以点击“测试数据源”测试一下
2) 数据库URL
刚才建立的数据库如何登陆呢?在java中用如下语句:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
3)建立连接,是用如下语句:
con = DriverManager.getConnection("sun.jdbc.odbc.JdbcOdbcDriver");
4) 建立会话,用Statement
Statement st = con.createStatement();
5)一切就绪后,那如何操作数据库呢?用st的如下方法
String sql = “select * from table1"
Result rs = st.executeQuery(sql);
其中sql是一个String类型的变量,是要使用的sql语句
Result 是返回的结果集,其实就是字符串形式的内容,所以数据库中的各列的值的形式是字符串的话,就可以用getString()方法把返回的内容提取出来,但是如果有多条记录,就得用rs.next()方法进行循环取出结果
把第 2) 到 第 5) 的分解综合起来就是在java中的语句如下:
public static void main(String[] args) throws SQLException {
// TODO code application logic here
String url = "jdbc:odbc:data1"; //data1是数据库名称
Connection con = null;
Statement st = null;
ResultSet rs = null;
String sql = "select * from table1"; //要执行的sql语句 记住,此处from后面是表的名称,而不是数据库名称
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动
}catch(ClassNotFoundException e){
e.printStackTrace();
}
try{
con = DriverManager.getConnection(url); //建立连接
st = con.createStatement(); //建立会话
rs = st.executeQuery(sql); //发送sql语句
}catch(SQLException e){
e.printStackTrace();
}
while(rs.next()){
String name = new String();
name = rs.getString(1);
String code = rs.getString(2);
String sexy = rs.getString(3);
String age = rs.getString(4);
String birthday = rs.getString(5);
String dept = rs.getString(8);
System.out.println("姓名:"+name +" 编号:"+ code + "性别:" + sexy + "年龄:" + age + "生日:"
+ birthday + "部门:" + dept);
}
rs.close();
st.close();
con.close();
OK,大功告成了,运行结果如下: