class HMySql
Public Class Methods
new(host, port, dbname, user, password, timezone, connectionName)
click to toggle source
Calls superclass method
HDB::new
# File lib/hdb/hmysql.rb, line 32 def initialize(host, port, dbname, user, password, timezone, connectionName) super(host, port, dbname, user, password, timezone, connectionName, "hmysql") @result = nil end
Public Instance Methods
_execute(queryStr = self.queryStr)
click to toggle source
# File lib/hdb/hmysql.rb, line 55 def _execute(queryStr = self.queryStr) @result = @connection.query(queryStr) return self unless @result @resultTable = HFieldTable.new() self.fieldNameList().each { |fieldName| @resultTable.addFieldName(fieldName) } @resultTable.makeCaption() r = 0 @result.each do |row| row.each_with_index do |fieldValue, c| @resultTable.setDataByFieldIndex(r, c, fieldValue.to_s) end r += 1 end return self end
connect()
click to toggle source
# File lib/hdb/hmysql.rb, line 39 def connect() @connection = Mysql.new(@host, @user, @password, @dbname, @port.to_i) #hl << "Server version: #{self.execute("SHOW server_version").dataByFieldIndex(0,0).to_s}" self.execute("SET time_zone = '#{@timezone}'") if @timezone return @connection end
disconnect()
click to toggle source
# File lib/hdb/hmysql.rb, line 48 def disconnect() @connection.close() @connection = nil end
fieldNameList()
click to toggle source
# File lib/hdb/hmysql.rb, line 76 def fieldNameList() fieldList = HList.new() @result.fetch_fields.each { |field| fieldList << field.name } return fieldList end
insert(tableName, values)
click to toggle source
# File lib/hdb/hmysql.rb, line 86 def insert(tableName, values) self.execute("INSERT INTO #{tableName} #{self.insertValues(values)}") return @connection.insert_id end
rowsAffected()
click to toggle source
# File lib/hdb/hmysql.rb, line 93 def rowsAffected return @connection.affected_rows() end