test_01.bmx 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. SuperStrict
  2. Framework Database.PostgreSQL
  3. Import BRL.StandardIO
  4. Local db:TDBConnection = LoadDatabase("POSTGRESQL", "maxtest", "localhost", 0, "user", "pass")
  5. If Not db Then
  6. Print "Didn't work..."
  7. End
  8. End If
  9. If db.hasError() Then
  10. errorAndClose(db)
  11. End If
  12. Local names:String[][] = [ ..
  13. [ "Alfred", "Aho" ], ..
  14. [ "Brian", "Kernighan" ], ..
  15. [ "Peter", "Weinberger" ] ]
  16. If db.isOpen() Then
  17. db.executeQuery("DROP TABLE person")
  18. db.executeQuery("DROP SEQUENCE person_id")
  19. ' create the auto-incrementing field
  20. db.executeQuery("CREATE SEQUENCE person_id INCREMENT 1 START 1")
  21. ' id field assigned to sequence
  22. Local s:String = "CREATE TABLE person (id integer primary key DEFAULT NEXTVAL('person_id'), " + ..
  23. " forename varchar(30)," + ..
  24. " surname varchar(30) )"
  25. db.executeQuery(s)
  26. If db.hasError() Then
  27. errorAndClose(db)
  28. End If
  29. For Local i:Int = 0 Until names.length
  30. ' don't use id field - it sets itself!
  31. db.executeQuery("INSERT INTO person (forename, surname) values ('" + names[i][0] + "', '" + names[i][1] + "')")
  32. If db.hasError() Then
  33. errorAndClose(db)
  34. End If
  35. Next
  36. Local query:TDatabaseQuery = db.executeQuery("SELECT * from person")
  37. If db.hasError() Then
  38. errorAndClose(db)
  39. End If
  40. While query.nextRow()
  41. Local record:TQueryRecord = query.rowRecord()
  42. Print record.getInt(0) + ". Name = " + record.getString(1) + " " + record.getString(2)
  43. Wend
  44. db.close()
  45. End If
  46. Function errorAndClose(db:TDBConnection)
  47. Print db.error().toString()
  48. db.close()
  49. End
  50. End Function