Mercurial Hosting > luan
diff src/luan/modules/sql/Sql.luan @ 1407:1979cff9aad2
add sql/Web_query
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 20 Sep 2019 17:00:30 -0600 |
parents | 8d95711f6615 |
children |
line wrap: on
line diff
--- a/src/luan/modules/sql/Sql.luan Wed Sep 18 09:19:58 2019 -0600 +++ b/src/luan/modules/sql/Sql.luan Fri Sep 20 17:00:30 2019 -0600 @@ -3,6 +3,7 @@ local error = Luan.error local new_error = Luan.new_error or error() local set_metatable = Luan.set_metatable or error() +local range = Luan.range or error() local Database = require "java:luan.modules.sql.Database" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "Sql" @@ -32,6 +33,9 @@ function database.query(sql,...) local rs = java_database.query(sql,...) + local query = {} + query.java = rs + local mt = {} function mt.__index(_,key) local rtn = rs.getObject(key) @@ -39,7 +43,7 @@ end local result = {} set_metatable(result,mt) - return function() + function query.results() if rs.isClosed() then return nil end @@ -48,7 +52,18 @@ return nil end return result - end, rs + end + + function query.column_names() + local meta = rs.getMetaData() + local names = {} + for i in range(1,meta.getColumnCount()) do + names[i] = meta.getColumnName(i) + end + return names + end + + return query end return database