java/jsp 高手来

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:28:37
package com;
public class Hello{
String classforname="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=nwq";
String user="sa";
String password="sa";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from TABLE1";
Class.forName (classforname);
public String printHello()
{
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));

}
rs.close();
stmt.close();
conn.close();
}
}
出错提示:
编译后报错,
Hello.java:14:需要<标识符>
Class.forName(classforname);
什么原因,怎么解决,详细点.
乱粘的不看
package com;
import com.microsoft.jdbc.sqlserver.SQLServerDriver

问题出在
Class.forName (classforname);
这个语句

看清楚了..这个是一个语句不是声明.....
你可以吧这个语句写在方法里边或者把它改一改
static String classforname="com.microsoft.jdbc.sqlserver.SQLServerDriver";

static
{
Class.forName(classforname);
}

你的resultSet是局部对象,在开始时就进行初始化,再试试。

应该把
Statement stmt=conn.createStatement();
String sql="select * from TABLE1";
这两句放printHello() 这里面.应该就可以解决了
你是先查询再装载的驱动,顺序就不对了
你可以参考一下下面这个程序的过程.是我以前写的

public News select_one(String id) throws SQLException
{
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from news where id='"+id+"'");
News new_one=null;
while(rst.next())
{
new_one=new News();
//new_one.setId(rst.getInt("id"));
new_one.setTitle(rst.getString("title"));
new_one.setContext(rst.getString("context"))