title: ResultSet: Exception: set type is TYPE_FORWARD_ONLY -- why?
body: <p>I have very simple code:</p>
  
  <pre><code>pstat=con.prepareStatement("select typeid from users where username=? and password=?");             
  pstat.setString(1, username);
  pstat.setString(2, password);
  rs=pstat.executeQuery();
  int rowCount=0;
  while(rs.next())
  {       
      rowCount++;         
  }
  rs.beforeFirst();
  if(rowCount&gt;=1)
  {
  while(rs.next())
  {
      typeID=rs.getInt(1);
  }
  </code></pre>
  
  <p>But when execute this code I am getting...</p>
  
  <pre><code>java.sql.SQLException: Result set type is TYPE_FORWARD_ONLY
  at sun.jdbc.odbc.JdbcOdbcResultSet.beforeFirst(Unknown Source)
  at server.ClientImpl.login(ClientImpl.java:57)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
  at sun.rmi.transport.Transport$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.rmi.transport.Transport.serviceCall(Unknown Source)
  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
  </code></pre>
  
  <p>What is causing this and how can I fix it?</p>