Hello to all! I am doing practice for JDBC and using netbeans 8.1. I created a table in mc access and wrote a program. But the problem is that when i pass column index then my program runs successfully. But I pass column name as in my table in mc access then there occurs an error that "Column not found".
I am pasting code of my program and try to explain my problem further.
`
package database;
impot java.sql.*;

package database;
impot 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);
        }


    }

}

As you can see in while loop that i have passed column index in getString() function. In this case my program runs successfully. But when i pass name of field/attribute which is in my database table, then it gives me error that "Column not found". For example if I pass getString("name") then it gives me above error.
Please help me to solve my problem.

Note: I have checked again and again that there is no spelling mistake in my parameter opposite to actual table in ms access.

Is the capitalisation of the names the same?

yes the capitalization of the names is same

where is that getString("name"); call? I only see calls to a getSring(int column); method.

Ehmmm silly question will
"SELECT *FROM students"

actually work?
Shouldn't it be with space?
"SELECT * FROM students"

I haven't touched DBs in ages :P

Peter: that might depend on the DB you use, but when you run a query like that in MS SQL Server Management Studia, it returns he data.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.