import java.sql.*;
public class osconn 
{public static final String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ee";
    public static final String user="sa";
public static final String password="";
Connection connect=null;
ResultSet rs=null;
Statement stmt=null;public osconn()
{
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
try
{
connect=DriverManager.getConnection(sConnStr,user,password);
Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
System.out.println("连接数据库成功");
return rs;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
System.out.println("在这里发生异常啦");
return null;
}
}
public int executeUpdate(String sql)
{
int result=0;
try
{
    connect=DriverManager.getConnection(sConnStr,user,password);
    Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    result=stmt.executeUpdate(sql);
stmt.close();
connect.close();
return result;
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());
return result;

}public void closeConn(String sql)
{
try
{
stmt.close();
connect.close();
}
catch (SQLException ex)
{
System.err.println(ex.getMessage());

}public static void main(String[] args)
{
osconn conn=new osconn();
conn.executeQuery("select * from try");
conn.closeConn();
}}
编译的时候出现以下提示:---------- javac ----------
D:\try\osconn.java:78: 无法将 osconn 中的 closeConn(java.lang.String) 应用于 ()
conn.closeConn();
            ^
1 错误输出完成 (耗时: 1 秒) - 正常终止

解决方案 »

  1.   

    public void closeConn(String sql)
    改为
    public void closeConn()你这个关闭函数根本不用输入sql参数。你调用的时候用的是无参数的的closeConn函数,而你的程序没有定义public void closeConn()这样的函数
      

  2.   

    谢谢,我已经处理好了,完整的程序如下上面的程序是写错了一点,closeConn()括号里是没有带参数的,同时在executeQuery()这个函数里的Statement stmt改成stmt就可以了,executeUpdate()里也一样,完整无错的程序如下,以供后人比较^_^送分//package insert_db;
    import java.sql.*;
    public class osconn 
    {public static final String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    public static final String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=ee";
        public static final String user="sa";
    public static final String password="";
    private static Connection connect=null;
    private static ResultSet rs=null;
    private static Statement stmt=null;public osconn()
    {
    try
    {
    Class.forName(sDBDriver);
    }
    catch (java.lang.ClassNotFoundException e)
    {
    System.err.println(e.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    try
    {
    connect=DriverManager.getConnection(sConnStr,user,password);
    stmt=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs=stmt.executeQuery(sql);
    System.out.println("连接数据库成功");
    return rs;
    }
    catch (SQLException ex)
    {
    System.err.println(ex.getMessage());
    System.out.println("在这里发生异常啦");
    return rs;
    }
    }
    public int executeUpdate(String sql)
    {
    int result=0;
    try
    {
        connect=DriverManager.getConnection(sConnStr,user,password);
        Statement stmt=connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
        result=stmt.executeUpdate(sql);
    stmt.close();
    connect.close();
    return result;
    }
    catch (SQLException ex)
    {
    System.err.println(ex.getMessage());
    return result;

    }/*public void closeStmt(){
    try{
    stmt.close();
    System.out.println("关闭stmt");
    }catch(SQLException e){
    e.printStackTrace();
    }
    }
    public void closeConn(){try {
    connect.close();
    System.out.println("关闭connect");
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }*/
    public void closeConn()
    {
    try
    {
    stmt.close();
    System.err.println("关闭stmt");
    connect.close();
    System.err.println("关闭connect");
    }
    catch (SQLException e)
    {
    e.printStackTrace();
    }
    }
    public static void main(String[] args)
    {
    try
    {
    osconn conn=new osconn();
    rs=conn.executeQuery("select * from try");
    while(rs.next())
    {
    System.out.print(rs.getString(1));
    System.out.println(rs.getString(2)); }
    conn.closeConn();
    }
    catch (SQLException e)
    {
    e.printStackTrace();
    }
    }}