class HMySql2
Public Class Methods
new(host, port, dbname, user, password, timezone)
click to toggle source
Calls superclass method
HDB::new
# File lib/hdb/hmysql2.rb, line 32 def initialize(host, port, dbname, user, password, timezone) super(host, port, dbname, user, password, timezone, "hmysql2") @result = nil end
Public Instance Methods
_execute(queryStr = self.queryStr)
click to toggle source
# File lib/hdb/hmysql2.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() @result.each_with_index do |row, i| row.each do |fieldName, fieldValue| @resultTable.setDataByFieldName(i, fieldName, fieldValue.to_s) end end return self end
connect()
click to toggle source
# File lib/hdb/hmysql2.rb, line 39 def connect() @connection = Mysql2::Client.new(host: @host, username: @user, password: @password, database: @dbname, port: @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/hmysql2.rb, line 48 def disconnect() @connection.close() @connection = nil end
fieldNameList()
click to toggle source
# File lib/hdb/hmysql2.rb, line 74 def fieldNameList() fieldList = HList.new() @result.fields.each { |fieldName| fieldList << fieldName } return fieldList end
insert(tableName, values)
click to toggle source
# File lib/hdb/hmysql2.rb, line 88 def insert(tableName, values) self.execute("INSERT INTO #{tableName} #{self.insertValues(values)}") return @connection.last_id end
rowsAffected()
click to toggle source
# File lib/hdb/hmysql2.rb, line 84 def rowsAffected return @connection.affected_rows() end