我正在为JDBC练习并使用NetBeans 8.1。我在MS Access中创建了一个表并编写了一个程序。但问题是,当我传递列索引时,我的程序运行成功。但是我在MS Access中的表中传递列名,然后出现错误
未找到专栏
我正在粘贴程序代码并尝试进一步解释我的问题。
package database;
import java.sql.*;
public class Database {
public static void main(String[] args) {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:personDSN";
Connection con = DriverManager.getConnection(url);
Statement st = con.createStatement();
String sql = "SELECT *FROM students";
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
String Name = rs.getString(2);
String add = rs.getString(3);
String pNum = rs.getString(4);
System.out.println(Name + " " + add + " " + pNum);
}
con.close();
}
catch(ClassNotFoundException | SQLException sqlEx)
{
System.out.println(sqlEx);
}
}
}
正如你在while循环中看到的那样,我已经在getString()函数中传递了列索引。在这种情况下,我的程序成功运行。但是,当我传递我的数据库表中的字段/属性的名称,然后它给我错误“未找到列”。例如,如果我传递getString(“name”),那么它会给我上面的错误。
请帮我解决问题。
注意:我一次又一次地检查我的参数与ms访问中的实际表格相反没有拼写错误。