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)