读书人

请帮小弟我看一下代码,到底是在哪里出

发布时间: 2012-01-01 23:10:55 作者: rapoo

各位高手请帮我看一下代码,到底是在哪里出了问题?
我的代码是想从数据库中取出数据,再把那些数据封装成一个Uuser对象,最后把那些对象输出在屏幕上.可是我一运行程序就抛出异常.我看了半天都找不出原因,请各位高手帮我分析一下.多谢!
package hello;
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.sql.*;
import com.microsoft.jdbc.sqlserver.*;
public class JTableTest {
//JTable table;
ArrayList arr;
public JTableTest()throws Exception{
try{
String CLASSFORNAME= "com.microsoft.jdbc.sqlserver.SQLServerDriver ";
String SERVANDDB= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=CMS ";
String USER= "sa ";
String PWD= " ";
Class.forName(CLASSFORNAME).newInstance();
Connection con = DriverManager.getConnection(SERVANDDB,USER,PWD);
Statement statement=con.createStatement();
String isCorrect= "select * from users ";
ResultSet result=statement.executeQuery(isCorrect);
arr=new ArrayList();
while(result.next()){//User是我自己写的一个类
arr.add(new User(result.getString( "User_id "),result.getString( "User_password "),result.getString( "User_name "),Integer.parseInt(result.getString( "User_power "))));

}
//table=new JTable(new tableModel(arr));
}catch(Exception e){
throw e;
}


}
public static void main(String[] args)throws Exception{
try{
JTableTest f=new JTableTest();


for(int i=0;i <f.arr.size();i++){
System.out.println(f.arr.get(i));
}
}catch(Exception e){
throw e;
}
}
}

[解决办法]
你把异常贴出来嘛
不然怎么对症下药?
[解决办法]
帮你找点资料,楼主可以参考一下
==============================================
jdbc配置语句为: jdbc:microsoft:sqlserver://server_name:1433

如运行程序时出现 "Error establishing socket " 错误,则应进行如下调试:


1 检查SQL SERVER 是否允许远程访问.具体步骤:

1)打开 "企业管理器 ",打开控制台根目录> SQL Server 组> 数据库
2)在相应 "数据库 "上单击右键,选择 "属性 "
3)选择 "连接 "选项卡,检查 "远程服务器连接 "下,RPC服务是否选择.

2 使用telnet IP地址 1433,系统是否提示连接出错,如系统提示出错
检查是否防火墙屏蔽了SQL SERVER 或 java IDE 的网络访问端口
如果是,关闭防火墙,重新启动SQL SERVER和java IDE,进行测试,
如果系统仍提示上述错误,尝试下列步骤

3 检查SQL SERVER 端口号及是否启用了TCP/IP协议,具体步骤:

1)打开 "企业管理器 ",打开控制台根目录> SQL Server 组> 数据库
2)在相应 "数据库 "上单击右键,选择 "属性 "
3)选择 "常规 "选项卡,点击 "网络配置 ",如启用的协议中无 "TCP/IP协议 "将其加入
4)选择 "TCP/IP协议 ",点击 "属性 ",检查其端口号是否为1433
5)如端口号为1433将其修改为其它端口号,修改jdbc连接语句,将端口号同样改为新启用的端口号,如jdbc:microsoft:sqlserver://server_name:1400(假设新端口号为 1400
[解决办法]
什么系统好象是jdbc 的问题,装了sql server的sp3补丁了吗/

读书人网 >J2SE开发

热点推荐