ruby直接底层连接数据库
class MysqlTest #Code here require "mysql" def testMysql dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘) res=dbc.query(‘select * from virtual_machines‘) puts "Test Mysql...." while row=res.fetch_row do puts "#{row[0]}" end end def createTable dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘) res = dbc.query("SELECT id,hostname,internet_tx,internet_rx,traffic_tx,traffic_rx FROM virtual_machines") puts "===Select Data===/n" while row = res.fetch_row do printf("%s, %s, %s, %s, %s, %s\n",row[0],row[1],row[2],row[3],row[4],row[5]) end puts "==================/n" puts "Server version: " + dbc.get_server_info rescue Mysql::Error => e puts "Error code: #{e.errno}" puts "Error message: #{e.error}" puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate") ensure puts "Close Connection......." dbc.close if dbc end def insertinto dbc=Mysql.real_connect(‘localhost‘,‘root‘,‘123‘,‘Ivic_Portal‘) res = dbc.query("SELECT id,hostname,internet_tx,internet_rx,traffic_tx,traffic_rx FROM virtual_machines") while row = res.fetch_row do id = row[0] a = rand(1000) b = rand(1000) c = rand(1000) d = rand(1000) puts a,b,c,d printf("%s, %s, %s, %s, %s, %s\n",row[0],row[1],row[2],row[3],row[4],row[5]) dbc.query("update virtual_machines set internet_tx=internet_tx+#{a} where id = #{id} ") dbc.query("update virtual_machines set internet_rx=internet_rx+#{b} where id = #{id} ") dbc.query("update virtual_machines set traffic_tx=traffic_tx+#{c} where id = #{id} ") dbc.query("update virtual_machines set traffic_rx=traffic_rx+#{d} where id = #{id} ") end rescue Mysql::Error => e puts "Error code: #{e.errno}" puts "Error message: #{e.error}" puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate") ensure puts "Close Connection......." dbc.close if dbc end while true do (MysqlTest.new).insertinto (MysqlTest.new).createTable sleep(5) end end
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。