import java.io.*;
import java.sql.*;
import sqlj.runtime.*;
import sqlj.runtime.ref.*;

public class ShowSqljIter {

  public static void main(String args[]) {

    String url ="jdbc:microsoft:sqlserver://maestro:1433";  // URL der Datenbank
    String user   = "erika";                                // User-Login
    String passwd = "mustermann";                           // User-Passwort
    Connection con;                                         // Verbindungs-Objekt

    try {                                                   // versuche
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    }catch(java.lang.ClassNotFoundException e) {            // Treiber zu laden
      System.err.println(e.getMessage());                   // Fehlermeldung 
    }

    try {  

      con = DriverManager.getConnection(url,user,passwd);   // Verbindung
      int vorgabe=IO.readInt("Bitte Semesterobergrenze: "); // Benutzereingabe
      DefaultContext ctx = new DefaultContext(con);
      DefaultContext.setDefaultContext(ctx);
      #sql iterator MyIter (String Name, int Semester);
      MyIter iter;
      #sql iter= {select name, semester from Studenten 
                  where semester < :vorgabe};
      
      while (iter.next()) {                         // Iterator durchlaufen
        System.out.print(iter.Name());              // dabei Namen 
        System.out.print(" studiert im ");          // und Semester       
        System.out.print(iter.Semester());          // formatiert ausgeben
        System.out.println(". Semester.");
      }

      iter.close();                                 // Verbindung schliessen

    }catch(SQLException ex) {
      System.err.println("SQLException: " + ex.getMessage());
    }
  }
}