From 15417b7c38c0685f5543ee0b88732defea323c7d Mon Sep 17 00:00:00 2001 From: "Brian J. Cardiff" Date: Sun, 31 Jan 2016 19:40:43 -0300 Subject: [PATCH] update to 0-based positional arguments add samples --- samples/memory.cr | 22 ++++++++++++++++++++++ src/sqlite3/statement2.cr | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 samples/memory.cr diff --git a/samples/memory.cr b/samples/memory.cr new file mode 100644 index 0000000..b9782f7 --- /dev/null +++ b/samples/memory.cr @@ -0,0 +1,22 @@ +require "db" +require "../src/sqlite3" + +DB.open "sqlite3", ":memory:" do |db| + db.exec "create table contacts (name string, age integer)" + db.exec "insert into contacts values (?, ?)", "John Doe", 30 + db.exec "insert into contacts values (:name, :age)", {name: "Sarah", age: 33} + + 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 +end diff --git a/src/sqlite3/statement2.cr b/src/sqlite3/statement2.cr index f0daf36..25fbb55 100644 --- a/src/sqlite3/statement2.cr +++ b/src/sqlite3/statement2.cr @@ -13,7 +13,7 @@ class SQLite3::Statement2 < DB::Statement end protected def add_parameter(index : Int32, value) - bind_arg(index, value) + bind_arg(index + 1, value) end protected def add_parameter(name : String, value)