Connection con;
Statement sql;
ResultSet rs;
con=DriverManager.getConnection("jdbc:odbc:demo","test","123");
sql=con.createStatement();
rs=sql.execute(tf.getText());//这一句报错说类型不匹配,execute()方法的参数应该是string类型的啊,怎么会这样呢?

解决方案 »

  1.   

    bool execute(String sql) 
    是后面不匹配
    如果要ResultSet,请用executeQuery方法
      

  2.   

    执行给定的 SQL 语句,该语句可能返回多个结果。在某些(不常见)情形下,单个 SQL 语句可能返回多个结果集合和/或更新计数。这一点通常可以忽略,除非正在 (1) 执行已知可能返回多个结果的存储过程或者 (2) 动态执行未知 SQL 字符串。 
    execute 方法执行 SQL 语句并指示第一个结果的形式。然后,必须使用方法 getResultSet 或 getUpdateCount 来获取结果,使用 getMoreResults 来移动后续结果。 
    Statement stmt = ....;
    boolean isResult =  stmt.execute(String sql) 
    stmt.getResultSet();//得到结果集
    stmt.getUpdateCount();//得到更新件数
      

  3.   

    LS的正解,execute(String sql)的返回值不是Result类型
      

  4.   

    你先把它打印出来看看,是不是标准SQL语句.String sql=tf.getText();
    System.out.println("***"+sql+"***");
    rs=sql.execute(sql);
      

  5.   


    先看jdk!!!!!!!!!!!!!!!!!!!!!!!!!!,在做回答
      

  6.   

    好好看看java的语法与jdk吧,要搞明白,什么是参数以及相应的类型,还用函数的返回值类型。加强基础学习,然后再提问。
      

  7.   

    Statement对象的方法
    executeQuery(String str) 执行查询类型的SQL语句,返回ResultSet对象
    executeUpdate(String str) 执行更新类型的SQL语句,返回int类型,更新新影响的数量
      

  8.   

    貌似简单了点吧?返回类型不匹配,返回boolean,当然不能给ResultSet啦