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 に答える