3

嗨,我正在用 java 开发一个系统,我正在尝试获取表中存在的所有记录的计数,我尝试了很多,但它给了我异常异常是:-java.sql.SQLException:驱动程序不支持此功能

下面是我的代码。

import java.sql.*;
import javax.swing.JOptionPane;
import net.proteanit.sql.DbUtils;
public class myfram2 extends javax.swing.JFrame {
Connection con;
PreparedStatement ps;//I have also tried Statement but it give me exception that:
                     //Column not found     
public myfram2() {
   try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con= con=DriverManager.getConnection("jdbc:odbc:student");

    JOptionPane.showMessageDialog(rootPane,"Connection succeed");
    }catch(Exception ex){

    ex.printStackTrace();

    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
ResultSet rsc;
    try{
   //Here i am using sql count method and also tried max but it doesn't work
    String sqcount="Select count(stdid)from record";

  ps=con.prepareStatement(sqcount);

  rsc=ps.executeQuery(sqcount);
  if(rsc.next()){

  String getc= rsc.getString("count(stdid)");
  searchtx.setText(getc);

  }

    }
  catch(Exception ex){

  ex.printStackTrace();

  }


  } 
4

2 回答 2

2

您必须使用当前代码:

 String getc = rsc.getString(1);

或更改:

  String sqcount = "Select count(stdid) countStdID from record";

接着:

String getc = rsc.getString("countStdID");

编辑:1

您必须加载第Driver Class一个,然后从该驱动程序类获取连接,然后在您的程序中获取该连接。

编辑2:

你必须使用

rsc = ps.executeQuery();    // instead of rsc = ps.executeQuery(sqcount);

因为PreparedStatement是一组预编译的查询

于 2013-03-13T05:26:49.907 回答
0

您可以尝试以下方式,

Select count(stdid) c from record

String getc = rsc.getString("c");
于 2013-03-13T05:25:48.360 回答