2015-11-28 12:56:33 +00:00
|
|
|
# crystal-sqlite3 [![Build Status](https://travis-ci.org/manastech/crystal-sqlite3.svg?branch=master)](https://travis-ci.org/manastech/crystal-sqlite3)
|
2015-03-12 21:21:33 +00:00
|
|
|
|
|
|
|
SQLite3 bindings for [Crystal](http://crystal-lang.org/).
|
|
|
|
|
2015-03-13 00:08:01 +00:00
|
|
|
**This is a work in progress.**
|
|
|
|
|
|
|
|
[Documentation](http://manastech.github.io/crystal-sqlite3/)
|
|
|
|
|
2015-11-28 13:07:42 +00:00
|
|
|
### shard.yml
|
2015-03-12 21:21:33 +00:00
|
|
|
|
2015-11-28 13:07:42 +00:00
|
|
|
```yml
|
|
|
|
dependencies:
|
|
|
|
sqlite3:
|
|
|
|
github: manastech/crystal-sqlite3
|
2015-03-12 21:21:33 +00:00
|
|
|
```
|
2015-03-13 00:08:01 +00:00
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
2015-07-01 01:51:34 +00:00
|
|
|
```crystal
|
2016-02-04 00:50:41 +00:00
|
|
|
require "db"
|
2015-03-13 00:08:01 +00:00
|
|
|
require "sqlite3"
|
|
|
|
|
2016-02-04 00:50:41 +00:00
|
|
|
DB.open "sqlite3://./data.db" do |db|
|
|
|
|
db.exec "create table contacts (name string, age integer)"
|
|
|
|
db.exec "insert into contacts values (?, ?)", "John Doe", 30
|
|
|
|
|
|
|
|
args = [] of DB::Any
|
|
|
|
args << "Sarah"
|
|
|
|
args << 33
|
|
|
|
db.exec "insert into contacts values (?, ?)", args
|
|
|
|
|
|
|
|
puts "max age:"
|
|
|
|
puts db.scalar "select max(age) from contacts" # => 33
|
|
|
|
|
|
|
|
puts "contacts:"
|
|
|
|
db.query "select name, age from contacts order by age desc" do |rs|
|
|
|
|
puts "#{rs.column_name(0)} (#{rs.column_name(1)})"
|
|
|
|
# => name (age)
|
|
|
|
rs.each do
|
|
|
|
puts "#{rs.read(String)} (#{rs.read(Int32)})"
|
|
|
|
# => Sarah (33)
|
|
|
|
# => John Doe (30)
|
|
|
|
end
|
|
|
|
end
|
2015-03-13 00:08:01 +00:00
|
|
|
end
|
|
|
|
```
|