// Programm 4-4: BUCH_ROOT/meinewebapp/WEB-INF/classes/jdbccs/SqlDirekt.java
package jdbccs;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*; 
public class SqlDirekt extends HttpServlet {
  Connection c;
  public void init() {
    try {
      Class.forName("org.gjt.mm.mysql.Driver");
      c = DriverManager.getConnection("jdbc:mysql://localhost:3306/Kurse");
    }
    catch(Exception ex) {}
  }
  public void doGet(HttpServletRequest rq, HttpServletResponse rs) 
                                               throws ServletException, IOException {
    rs.setContentType("text/html");
    PrintWriter out = rs.getWriter();
    String sql = rq.getParameter("sql"); 
    sql = sql != null ? sql : "SELECT * FROM Kurse";
    out.print("<FORM><INPUT Type=text readonly Value=Kurse><BR>" +
              "<TEXTAREA Name=sql Rows=4 Cols=60>" + sql + "</TEXTAREA><BR>" +
              "<INPUT Type=submit Value='Ausführen!'></FORM>");
    try {
      Statement s = c.createStatement();     // SQL-Anweisung
      if (s.execute(sql)) {                  // ..ausführen!
        ResultSet r = s.getResultSet();
        int count = r.getMetaData().getColumnCount();
        while(r.next())
          for (int i = 1; i <= count; i++) { // Spaltenwerte
            if (i != count) out.print(r.getString(i)+", "); 
            else out.println(r.getString(i)+"<BR>");
          }
      }
      else out.print(s.getUpdateCount());
    }
    catch(Exception ex) {
      out.println("Fehler: " + ex.getMessage() + "<BR>" + sql);
    }
  }
}