Simple database: Difference between revisions

Content added Content deleted
(Dialects of BASIC moved to the BASIC section.)
m (→‎{{header|Wren}}: Minor tidy)
Line 5,263: Line 5,263:
{{libheader|Wren-str}}
{{libheader|Wren-str}}
Note that since Wren CLI currently has no way of determining the current date/time, a date needs to be input for each item to be added.
Note that since Wren CLI currently has no way of determining the current date/time, a date needs to be input for each item to be added.
<syntaxhighlight lang="ecmascript">/* simdb.wren */
<syntaxhighlight lang="wren">/* Simple_database.wren */


import "os" for Process
import "os" for Process
import "/ioutil" for File, FileFlags, FileUtil
import "./ioutil" for File, FileFlags, FileUtil
import "/trait" for Comparable
import "./trait" for Comparable
import "/iterate" for Reversed
import "./iterate" for Reversed
import "/date" for Date
import "./date" for Date
import "/sort" for Sort
import "./sort" for Sort
import "/str" for Str
import "./str" for Str


var fileName = "simdb.csv"
var fileName = "Simple_database.csv"


Date.default = Date.isoDate
Date.default = Date.isoDate
Line 5,296: Line 5,296:
System.print("""
System.print("""
Usage:
Usage:
wren simdb.wren cmd [categoryName]
wren Simple_database.wren cmd [categoryName]
add add item name and date, followed by optional category
add add item name and date, followed by optional category
latest print item with latest date, followed by optional category
latest print item with latest date, followed by optional category
Line 5,387: Line 5,387:
Sample session:
Sample session:
<pre>
<pre>
$ wren simdb.wren add item1 2021-03-01
$ wren Simple_database.wren add item1 2021-03-01
$ wren simdb.wren add item2 2021-04-01
$ wren Simple_database.wren add item2 2021-04-01
$ wren simdb.wren add item3 2021-05-01 cat3
$ wren Simple_database.wren add item3 2021-05-01 cat3
$ wren simdb.wren add item4 2021-06-01 cat3
$ wren Simple_database.wren add item4 2021-06-01 cat3
$ wren simdb.wren add item5 2021-07-01 cat3
$ wren Simple_database.wren add item5 2021-07-01 cat3
$ wren simdb.wren latest
$ wren Simple_database.wren latest
item5, 2021-07-01, cat3
item5, 2021-07-01, cat3
$ wren simdb.wren latest none
$ wren Simple_database.wren latest none
item2, 2021-04-01, none
item2, 2021-04-01, none
$ wren simdb.wren latest cat4
$ wren Simple_database.wren latest cat4
There are no items for category 'cat4'.
There are no items for category 'cat4'.
$ wren simdb.wren all
$ wren Simple_database.wren all
item1, 2021-03-01, none
item1, 2021-03-01, none
item2, 2021-04-01, none
item2, 2021-04-01, none
Line 5,409: Line 5,409:
{{libheader|Wren-table}}
{{libheader|Wren-table}}
The above module provides a more generic way to create simple databases and was not available when the first version was written.
The above module provides a more generic way to create simple databases and was not available when the first version was written.
<syntaxhighlight lang="ecmascript">import "os" for Process
<syntaxhighlight lang="wren">import "os" for Process
import "./table" for Table, FieldInfo, File
import "./table" for Table, FieldInfo, File
import "./str" for Str
import "./str" for Str
Line 5,416: Line 5,416:
System.print("""
System.print("""
Usage:
Usage:
wren simdb.wren cmd [categoryName]
wren Simple_database.wren cmd [categoryName]
add add item name and date, followed by optional category
add add item name and date, followed by optional category
latest print item with latest date, followed by optional category
latest print item with latest date, followed by optional category
Line 5,452: Line 5,452:


// create a new Table object
// create a new Table object
var tableName = "simdb"
var tableName = "Simple_database"
var table
var table
if (Table.fileExists(tableName)) {
if (Table.fileExists(tableName)) {
Line 5,480: Line 5,480:
{{out}}
{{out}}
<pre>
<pre>
$ wren simdb.wren add item1 2021-03-01
$ wren Simple_database.wren add item1 2021-03-01
$ wren simdb.wren add item2 2021-04-01
$ wren Simple_database.wren add item2 2021-04-01
$ wren simdb.wren add item3 2021-05-01 cat3
$ wren Simple_database.wren add item3 2021-05-01 cat3
$ wren simdb.wren add item4 2021-06-01 cat3
$ wren Simple_database.wren add item4 2021-06-01 cat3
$ wren simdb.wren add item5 2021-07-01 cat3
$ wren Simple_database.wren add item5 2021-07-01 cat3
$ wren simdb.wren latest
$ wren Simple_database.wren latest
[item5, 2021-07-01, cat3]
[item5, 2021-07-01, cat3]
$ wren simdb.wren latest none
$ wren Simple_database.wren latest none
[item2, 2021-04-01, none]
[item2, 2021-04-01, none]
$ wren simdb.wren latest cat4
$ wren Simple_database.wren latest cat4
There are no records for category 'cat4'.
There are no records for category 'cat4'.
$ wren simdb.wren all
$ wren Simple_database.wren all
Records in 'simdb' table:
Records in 'Simple_database' table:


name date category
name date category
Line 5,500: Line 5,500:
item3 2021-05-01 cat3
item3 2021-05-01 cat3
item4 2021-06-01 cat3
item4 2021-06-01 cat3
item5 2021-07-01 cat3
item5 2021-07-01 cat3
</pre>
</pre>