仔细看过你得代码之后,感觉唯一可能出问题得地方就是"select content from sysinfo where id="+id ,建议你把这个参数改为字符型,或者把你得语句改一下: "select content from sysinfo where id="+ String.valueOf(id);
public ResultSet getAdvertisementContent ( int id ) { trynews.getAdvertisementContent ( Integer.parseInt ( id ) );int 和 Integer不是一个类型 想想 参数不同的同名方法是两个不同的方法(重载)
"select content from sysinfo where id="+ String.valueOf(id);
{
trynews.getAdvertisementContent ( Integer.parseInt ( id ) );int 和 Integer不是一个类型
想想 参数不同的同名方法是两个不同的方法(重载)
另外两位,语句应该没有错,因为我的id的int型,不能用字符串的形式!
完整的NewsBean是这样的:
package dqh.news;import dqh.dbcon.DataBaseConnection;
import java.sql.*;public class NewsBean
{
private Connection con;
private ResultSet rs;
public NewsBean ( )
{
this.con = DataBaseConnection.getConnection ( );
}
public ResultSet getSystemAdvertisement ( ) throws Exception
{
try
{
Statement stmt = con.createStatement ( );
rs = stmt.executeQuery ( "select top 5 * from sysinfo order by id desc" );
}
catch ( Exception e )
{
e.printStackTrace ( );
}
return rs;
}
public ResultSet getNews ( ) throws Exception
{
try
{
Statement stmt = con.createStatement ( );
rs = stmt.executeQuery ( "select top 6 * from T_News order by N_Date desc" );
}
catch ( Exception e )
{
e.printStackTrace ( );
}
return rs;
}
public ResultSet getAdvertisementContent ( Integer id ) throws Exception
{
try
{
Statement stmt = con.createStatement ( );
rs = stmt.executeQuery ( "select content from sysinfo where id="+id );
}
catch ( Exception e )
{
e.printStackTrace ( );
}
return rs;
}
}
private Connection con=null;
private ResultSet rs=null;2 在每个返回rs对象的公共方法里,在try前先给rs赋上null也就是: public ResultSet getAdvertisementContent ( Integer id ) throws Exception
{
rs=null;
try
{
Statement stmt = con.createStatement ( );
rs = stmt.executeQuery ( "select content from sysinfo where
...3 传入的参数id 应该为 int吧? Content(Int id)...?4 string->int 请用Integer.parseInt(String) 方法,请参考java.lang.Integer包
package opendb;
import java.sql.*;public class opendb
{
String sDbDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sConnstr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=wlzx";
String sUser="sa";
String sPasswd="1234567";
Connection conn=null;
ResultSet rs=null;//构造函数
public opendb()
{
try
{
Class.forName(sDbDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("打开数据函数失败,失败原因:"+e.getMessage());
}}
public void openConn()
{
try
{
conn=DriverManager.getConnection(sConnstr,sUser,sPasswd);
}
catch(SQLException ex)
{
System.err.println("连接数据库操作出错:"+ex.getMessage());
}
}
//查询语句
public ResultSet selQuery(String sql)
{
rs=null;
try
{
if(conn!=null)
{
conn.close();
}
conn=DriverManager.getConnection(sConnstr,sUser,sPasswd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("查询操作出错:"+ex.getMessage());
}
return rs;
}
//插入语句
public void insQuery(String sql)
{
try
{
conn=DriverManager.getConnection(sConnstr,sUser,sPasswd);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("插入操作出错"+ex.getMessage());
}
}//删除语句
public void delQuery(String sql)
{
try
{
conn=DriverManager.getConnection(sConnstr,sUser,sPasswd);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("删除操作出错:"+ex.getMessage());
}
}
public void updQuery(String sql)
{
try
{
conn=DriverManager.getConnection(sConnstr,sUser,sPasswd);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.err.println("插入操作出错"+ex.getMessage());
}
}
}