如何从java访问JDBC ODBC数据库中的行计数
嗨,我正在开发一个系统在java中我想获取我的表中存在的所有记录的计数我尝试了很多,但它给了我例外 例外是: - java.sql.SQLException:驱动程序不支持此功能如何从java访问JDBC ODBC数据库中的行计数
这是我的代码如下。
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();
}
}
你可以试试下面的方法,
Select count(stdid) c from record
String getc = rsc.getString("c");
要么你必须使用你的当前代码:
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-13 05:37:09
@AbdullahSyed目前使用哪个驱动程序?我没有看到你的问题中加载驱动类的代码。 – Bhushan 2013-03-13 05:38:54
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); con = con = DriverManager.getConnection(“jdbc:odbc:student”); – 2013-03-13 05:47:13
上线,你得到的异常? – Abubakkar 2013-03-13 05:19:34
on count方法,查询正确但驱动程序不支持count max或sum方法,是否有其他驱动程序可用于访问数据库连接 – 2013-03-13 05:40:26