Hi Elias,

Wow, looks cool!

/// Jürgen


On 04/11/2014 10:48 AM, Elias Mårtenson wrote:
I've been working on an SQL interface, and right now I'm at the point where basic SQLite support works. Here's an example:

      ⍝ Load the native library
*'/home/emartenson/prog/apl-sqlite/lib_sqlite.so' ⎕FX 'SQL'*
SQL

      ⍝ Open the SQLite database in the file /tmp/foo
*db ← SQL[1] '/tmp/foo'*

      ⍝ Run an SQL statement to create a new table
*db SQL[4] 'create table foo (id int primary key, value varchar(10))'*

      ⍝ Insert 10 rows of data into the table
*{db SQL[4] 'insert into foo (id,value) values (?,?)' ⍵ ('foo:',⍕⍵)}¨ ⍳10**
*

      ⍝ Select a few rows of data from the table
*8⎕CR db SQL[3] 'select * from foo where id < 4'*
┌→────────┐
↓1 ┌→────┐│
│  │foo:1││
│  └─────┘│
│2 ┌→────┐│
│  │foo:2││
│  └─────┘│
│3 ┌→────┐│
│  │foo:3││
│  └─────┘│
└∊────────┘

      ⍝ Close the database
*SQL[2] db*

The code is available here: https://github.com/lokedhs/apl-sqlite

Contrary to the project name, it's written in a way so that support for other SQL databases can be easily plugged in.

Regards,
Elias

Reply via email to