Java 数据库程序输出不正确
我正在练习JDBC和使用NetBeans 8.1。我在MS Access中创建了一个表并编写了一个程序。但问题是,当我通过列索引时,我的程序就会成功运行。但我在MS Access中传递了表中的列名,然后出现了一个错误 找不到列 我正在粘贴我的程序代码,并试图进一步解释我的问题Java 数据库程序输出不正确,java,Java,我正在练习JDBC和使用NetBeans 8.1。我在MS Access中创建了一个表并编写了一个程序。但问题是,当我通过列索引时,我的程序就会成功运行。但我在MS Access中传递了表中的列名,然后出现了一个错误 找不到列 我正在粘贴我的程序代码,并试图进一步解释我的问题 package database; import java.sql.*; public class Database { public static void main(String[] args) { tr
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 access中的实际表相对,没有拼写错误。您能显示您的数据库吗?请记住,在MS Access中,您只能在设计模式下看到列名-显示名称可能不同。也可以使用列名查看代码。附加db内容。并在选择名称、地址等时更改sql查询“SELECT*”。我更改了查询并解决了问题。谢谢kain64b。