Next Previous Contents

17. <5.1.1>: SQL insert

Select-metodene er enkle å bruke, men man har ofte litt større behov, så som å skrive til databasen.

  1|   # 'do' kjører SQL-uttrykk og returnerer antall rader påvirket.  
  2|   n = dbh.do("INSERT INTO person VALUES (NULL, 'rubynuby1', " + 
  3|              " 'Nuby', 'Ruby', 'r0bY', 'nuby1@ruby.no', 0)")
  4|   puts "Antall rader påvirket av 'do': #{n}"
  5|   
  6|   # 'execute' kan brukes omtrent som 'do', men gir et
  7|   # DBI::StatementHandle tilbake.
  8|   sth = dbh.execute('INSERT INTO person VALUES (NULL, ?, ?, ?, ?, ?, ?)',
  9|                     'rubynuby2', 'Nuby', 'Ruby', 
 10|                     'r0bY', 'nuby2@ruby.no', 0)
 11|   puts "Antall rader påvirket av 'execute': #{sth.rows}"
 12|   sth.finish # Ikke bruker block? Husk å lukke ressurser.
 13| 
 14|   # 'execute' kan også gi oss et "halvferdig" statement.
 15|   dbh.prepare('INSERT INTO person VALUES (NULL, ?, ?, ?, ?, ?, 0)') do |sth|
 16|     # Kjekt når ting skal gjentas endel...
 17|     sth.execute( 'rubynuby3', 'Nuby', 'Ruby', 'r0bY', 'nuby3@ruby.no')
 18|     sth.execute( 'rubynuby4', 'Nuby', 'Ruby', 'r0bY', 'nuby4@ruby.no')
 19|     sth.execute( 'rubynuby5', 'Nuby', 'Ruby', 'r0bY', 'nuby5@ruby.no')
 20|   end # Møkk lei sth.finish nå!


Next Previous Contents