没有异常!
得到的结果 i为0  ss为null!
我把代码加了个main函数,编译执行的结果i是10 ,而ss也赋上了值!
后来我有重新发布编译了一便。还是一样。
import java.sql.*;public class Hello
{
  public String hello(String name)
{
int i = 0;
String ss = ""; try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
ss = "connect success!";
Connection Conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yang", "hacker", "sa"); 
ss = "connect success!";
Statement sta = Conn.createStatement();
ResultSet rs = sta.executeQuery("select * from article");
while(rs.next())
{i++;}
rs.close();
sta.close();
Conn.close();
}
catch (Exception e) 

e.printStackTrace();
}   if(name==null)
    name = "";
    return "你好"+name+",您需要的结果是:"+i+" "+ss;
}

写的简单明了了些还是不行!真是郁闷死了!!1
救命拉

解决方案 »

  1.   

    程序没有问题
    问题出在你没有把SQLserver连接数据库的JDBC包导入到项目中
      

  2.   

    那三个包我是放在c:\Program Files\Java\j2re1.4.2_04\lib\ext下面的。系统自动加载的。
    我直接用javac命令编译后执行可以连数据库。
    不知道在axis下还需要怎么导入??
    而且我上面考过来的网上的据说成功了的代码上也没有什么导入啊?
    还请这位大侠明示哦
    感激中~~~
      

  3.   

    if(name==null)
       name = "";
    你的代码中这个什么意思,不是把name的值赋为空了吗,而且你while(rs.next())
    {i++;} 你把i 打印出来,看看有什么结果. 或许会明白一点.
    我建议你基于axis 做webservice 不要这样连接数据库,用连接池吧.我感觉 这是最好的.
     
      

  4.   

    问题解决了。那三个驱动的jar包我没放到tomcat的common/lib目录下:)
    连接池我还不会用,这位大哥能不能讲讲连接池会有什么好处?