Ruby 随记 -连接数据库

本文介绍如何使用Ruby语言连接并操作MySQL数据库,包括错误处理及数据模型的创建过程。
如果报can't load such file--mysql 就安装gem install mysql 
require "mysql"
dbh = Mysql.real_connect("localhost","root","hulei2009","test",3306)
sql = "select * from scores"
res = dbh.query(sql)
dbh.close

class Score
def initialize(id=0,subject,score,student_name,explain)
@id = id
@subject  = subject
@score = score
@student_name = student_name
@explain = explain
end
attr_accessor :id,:subject,:score,:student_name,:explain
end

def createSQL(score)
"INSERT INTO  `scores` (  `subject` ,  `score` ,  `student_name` ,  `explain` ) 
VALUES (
'#{score.subject}', 34,  '#{score.score}',  '#{score.student_name}'
)"
end
#注意alues 中值的符号引用 
def saveScore(dbh,score)
sql =createSQL(score);
dbh.query(sql)
if(dbh.affected_rows==1)
puts "xues #{score.student_name} have been saved!"
end
end

peter = Score.new("shuxue",'83',"peter","dsgfsd")

begin
dbh = Mysql.real_connect("localhost","root","hulei2009","test")

saveScore(dbh,peter)
rescue Mysql::Error =>e
puts "Error Number:#{e.errno}"
puts "Error Message:#{e.error}"
puts "Error State:#{e.sqlstate}"
ensure
dbh.close
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值