注册 登录
编程论坛 J2EE论坛

java连接数据库,请各位进来指教一二。

禹_二 发布于 2006-09-15 16:54, 1079 次点击
我在本机上编写了一个连接sql server2000数据库的代码,输出数据库中的信息,用的是jdk1.5,下面是程序代码,编译可以通过,就是运行时什么结果也没有,我数据库中时有东西的,数据源也配好的,连接没问题。我已经研究几天了,头都大了,只是水平有限,就是不知道时怎么回事,只好来请教各位大侠了。
数据源名称是user_message,所搜索的表名是user,代码如下:
import java.sql.*;
import javax.sql.*;
public class T
{
private static String _driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static String _url="jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=user_message";
private static String user="sa";
private static String password="";
private static String sql="select*from user";
public static void main(String args[])
{
Connection con=null;
Statement st=null;
ResultSet rs=null;
try{
Class.forName(_driver); //建立连接
con=DriverManager.getConnection(_url,user,password);
st=con.createStatement();
rs=st.executeQuery(sql);
if(rs.next()) //输出查询信息
{
System.out.println(rs.getString("name"));
}
}
catch(SQLException e)
{e.getMessage();}
catch(Exception e)
{e.getMessage();}
finally //关闭连接
{
if(con!=null)
{try{ rs.close();
st.close();
con.close();}
catch(SQLException e)
{e.getMessage();}
}

}

}
}
15 回复
#2
无理取闹2006-09-15 17:00
while(rs.next()) //输出查询信息
{
System.out.println(rs.getString("name"));
}
试一下
#3
chenjiang0012006-09-15 21:42
System.out.println(rs.getString(?));
?处应该填写name的索引值.
例如name在表的第一列就是1.
#4
球球2006-09-15 21:50
表中的列名是name吗?
#5
禹_二2006-09-16 09:08
多谢各位,我按照你们说的试了,还是不行,经过测试,是抛出了exception异常,应该是驱动加载有问题,可是还是不知道怎么改,各位看看有什么办法?
#6
wh_calm2006-09-16 13:10
把你的exception贴出来看看, private static String   sql="select * from user";试试
#7
禹_二2006-09-16 16:17
  多谢各位,问题解决了 ,需要加载3个驱动包,然后就连接上了,不过有出现了新问题,运行到
con=DriverManager.getConnection(_url,user,password);后就不行了 抛出了sqlexception异常。
代码是0,不知道是怎么回事?
  
#8
yueritian2006-09-18 11:39
password是空吗?
#9
飘飘叶子2006-09-18 12:34
把具体的错误帖出来,可能是数据库用户名和密码的错误
#10
chen__han12006-09-18 13:04
sql server2000 是需要JDBC驱动程序补丁的,不知道你下载了没有,还要在环境变量里加入3个包
con=DriverManager.getConnection(_url,user,password);总觉得你这url前面怎么有个_,不知道是不是你写的规范的问题
#11
z1089799792006-09-18 20:06
private static String _driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private static String _url="jdbc:microsoft:sqlserver://localhost:1433:DatabaseName=user_message";
你这不是用的ODBC数据源吧
把红的地方改成你要连接的数据库试试 比如pubs

如果要用ODBC数据源的话就这样写
private static String _driver="sun.jdbc.odbc.JdbcOdbcDriver";
private static String _url="jdbc:odbc:user_message";
#12
z1089799792006-09-18 20:07

如果不用ODBC数据源的话
别忘了那3个驱动

#13
tblovecj2006-09-20 01:04
ff

如果你的操作系统是XP,那就不能用这种驱动连接,你只能用桥接方式"sun.jdbc.odbc.JdbcOdbcDriver"

#14
z1089799792006-09-20 09:22
以下是引用tblovecj在2006-9-20 1:04:38的发言:

如果你的操作系统是XP,那就不能用这种驱动连接,你只能用桥接方式"sun.jdbc.odbc.JdbcOdbcDriver"


不是吧
#15
千里冰封2006-09-20 10:04
当然不是,XP也可以打补丁,也可以用MSSQL的驱动的
#16
禹_二2006-09-23 16:18
好像是可以用的.就是不知道补丁是怎么打的.指点一下吧.
1