class SQLite3::Database

def execute sql, bind_vars = [], *args, &block

executing statements.
See also #execute2, #query, and #execute_batch for additional ways of

returned wholesale.
by the query. Otherwise, any results are accumulated into an array and
The block is optional. If given, it will be invoked for each row returned

the name of the placeholder to bind the value to.
key/value pairs are each bound separately, with the key being used as
Note that if any of the values passed to this are hashes, then the

the query.
they are treated as bind variables, and are bound to the placeholders in
Executes the given SQL statement. If additional parameters are given,
def execute sql, bind_vars = [], *args, &block
  if bind_vars.nil? || !args.empty?
    if args.empty?
      bind_vars = []
    else
      bind_vars = [bind_vars] + args
    end
    warn(<<-eowarn) if $VERBOSE
ller[0]} is calling SQLite3::Database#execute with nil or multiple bind params
out using an array.  Please switch to passing bind parameters as an array.
ort for bind parameters as *args will be removed in 2.0.0.
    eowarn
  end
  prepare( sql ) do |stmt|
    stmt.bind_params(bind_vars)
    stmt    = ResultSet.new self, stmt
    if block_given?
      stmt.each do |row|
        yield row
      end
    else
      stmt.to_a
    end
  end
end