帮我解决这个不到50行的java程序

来源:百度知道 编辑:UC知道 时间:2024/05/05 19:13:11
我遇到的问题:SQL server数据库“pubs”的表"publishers"共有8行数据,但是为什么这个程序的while循环里只显示5行数据,为什么这个程序发生异常,谢谢。
import java.sql.*;
public class Query3
{
public static void main(String[] args)
{
ResultSet re;
String rowdata="";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:pubs");
Statement st = con.createStatement();
re = st.executeQuery("select * from publishers");
ResultSetMetaData rsmd = re.getMetaData();

int colCount = rsmd.getColumnCount();
System.out.println(colCount);
//1表示第一列
for (int i = 1; i <= colCount; i++)
{
rowdata = rowdata + " : " + rsmd.getColumnName(i).trim();
System.out.println(rsmd.getColumnName(i).trim());
}
System.out.println(rowdata);
System.out.println("-----------------&qu

检查数据库中的记录,第六条任何一个字段的值为空,都可能在第二个while循环里的for循环中(rowdata = rowdata + " : " + re.getString(i).trim(); )的.trim中报空指针错误。

把你运行的结果发出来吧,
还有你想要得到的效果!

下标越界

知道为什么是5行吗 你用列数量做数组最大长度 当然只有5行了 因为你只有5列

不能查询:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
这个就是你的错误.