Pēteris Caune, jaunumi ([info]cu) rakstīja,
@ 2006-06-06 10:09:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Melna kā Liepājas kafija

Šodien ņemos ar javu. Varenu diskomfortu sagādā tas, ka daudz jaunā un nezināmā. Nu, nezinu, kādas ir tradīcijas un pareizie piegājieni un filozofija un tā. To cerēju samācīties universitātes kursā “Objektorientētā programmēšana”, bet tur mums mācīja, kā uzrakstīt ciklu un kā strādā ifs.

Lūk, un tagad atkal ir lielumlielie prieki un gandarījums, kad beidzot viens skaitlītis (666, protams) ir laimīgi ticis no datubāzes līdz alertam pārlūka ekrānā – līdzīgi kā sendienās, mācoties PHP.

Vēl viena lieta, kas pārāk nepriecē – kods, kas neko tādu nedara, sanāk garāks kā skriptu valodās. Daroties dikti augsta līmeņa valodās esmu pavisam izlutinājies. Lūk, pilnīgi nekorekts piemērs: paņemam datubāzes vaicājuma rezultātus, sametam asociatīvos masīvos un tos visus vienā sarakstā atgriežam. Šitā tas izskatītos pitonā ar psycopg bibliotēku:

cursor = conn.cursor()
cursor.execute(sql, sql_params)
return cursor.dictfetchall()

Šitā tas izskatītos iekš PHP ar ADOdb:

return $db->GetArray($sql, $args);

Un šitā iekš JAVA ar maģisko JDBC manā kreisajā izpildījumā:


  Vector result = new Vector();
  HashMap row;

  Statement stmt = connection.createStatement();
  ResultSet rs = stmt.executeQuery(query);

  ResultSetMetaData meta = rs.getMetaData(); 
  int numCols = meta.getColumnCount();
  String [] columnNames = new String[numCols + 1];
  for (int i = 1; i <= numCols; i++)
    columnNames[i] = meta.getColumnName(i); 

  while (rs.next()) {
    row = new HashMap();
    for (int i = 1; i <= numCols; i++)
      row.put(columnNames[i], rs.getString(i));
    result.add(row);
  }

  rs.close();  
  stmt.close();

  return result;

Jūs jau sapratāt – ar šo piemēru gribēju palielīties, ka man kaut kas vispār sanācis!



Neesi iežurnalējies. Iežurnalēties?