26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/dbgeni/connectors/sybase.rb', line 26
def execute(sql, *binds)
query = @connection.prepare_statement(sql)
binds.each_with_index do |b, i|
if b.is_a?(String)
query.setString(i+1, b)
elsif b.is_a?(Fixnum)
query.setInt(i+1, b)
end
end
results = Array.new
unless sql =~ /^\s*select/i
query.execute()
else
rset = query.execute_query()
cols = rset.get_meta_data.get_column_count
while(r = rset.next) do
a = Array.new
1.upto(cols) do |i|
a.push rset.get_object(i)
end
results.push a
end
end
query.close
results
end
|