Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ʹÓÃrubyÓëMS AccessÊý¾Ý¿â½»»¥

ruby³£¹æ·ÃÎÊaccessÊý¾Ý¿âµÄ·½·¨Ó¦¸ÃÊÇʹÓÃDBI¿â
£º
require 'dbi'

DBI.connect("DBI:ADO:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;")

¿ÉÊÇ
¼òµ¥³¢ÊÔÖ®ºóûÄܳɹ¦£¬ÌáʾÕÒ²»µ½Çý¶¯Æ÷ADO,ÀÁµÃÔÙÊÔ£¬ËìÕÒÆäËû·½·¨¡£
Ò»·¬ËÑË÷Ö®ºó£¬·¢ÏÖ¿ÉÒÔÓÃWIN32OLEÀ´·ÃÎÊaccess,дһ¸ö¼òµ¥µÄÀà°ü×°Ö®:
require 'win32ole'
class AccessDb
attr_accessor :mdb, :connection, :data, :fields
def initialize(mdb=nil)
@mdb = mdb
@connection = nil
@data = nil
@fields = nil
end
def open
connection_string = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
connection_string << @mdb
@connection = WIN32OLE.new('ADODB.Connection')
@connection.Open(connection_string)
end
def query(sql)
recordset = WIN32OLE.new('ADODB.Recordset')
recordset.Open(sql, @connection)
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
@data = recordset.GetRows.transpose
rescue
@data = []
end
recordset.Close
end
def execute(sql)
@connection.Execute(sql)
end
def close
@connection.Close
end
end

ʹÓ÷½·¨ÈçÏÂ:
db=AccessDb.new('f:\db.mdb')
db.open
db.query('select * from foods')
db.fields
db.data
db.execute("insert into foods values (3,'xxx',299,'xo','good!');"
db.close
ÏÂÃæÔÙ¸ø³öʹÓÃrubyѹËõÐÞ¸´accessÊý¾Ý¿âµÄÀý×Ó:
require 'win32ole'
def fixaccess(path,newpath)
jet=WIN32OLE.new('JRO.JetEngine')
File.delete(newpath) if File.exist?(newpath)
sp="Provider=Microsoft.ACE.OLEDB.12.0"
ss=sp+";Data Source="+path
sd=sp+";Data Source="+newpath+";Jet OLEDB:Engine Type=5"
jet.CompactDatabase ss,sd
end

±ÈÈçÒªÇóѹËõdb.mdbÎļþ£¬Ñ¹ËõºóµÄÎļþÃûΪnew_db.mdb²Ù×÷ÈçÏÂ:
fixaccess('f:\db.mdb','f:\new_db.mdb')
·½·¨fixaccessÖеÄspÔÚ°²×°ÁËoffice2007µÄϵͳÉÏ


Ïà¹ØÎĵµ£º

rubyµÄÀàÓëÄ£¿é£¨1£©

class Point
@x = 1
@y = 2
def initialize(x,y)
@x,@y = x,y
end
end 
´úÂëÖеÄ@x£¬@yΪʵÀý±äÁ¿£¬ÊµÀý±äÁ¿Ö»¶ÔselfµÄ»·¾³Æð×÷Óã¬Òò´ËinitializeÍâÃæµÄ@x=1£¬@y=2Ö»¶ÔÀà±¾ÉíÆð×÷Ó㬶ø·½·¨ÄÚ²¿£¬µÄ@x£¬@yÊǶԶÔÏóµÄʵÀýÆð×÷Óõġ£
class Point
include Enumerable
def initialize(x ......

rubyµ÷ÓÃÆ½Ì¨Ö¸Áîɾ³ýÖ¸¶¨Îļþ¼Ð

Õý³£Çé¿öÏ£¬rubyÈç¹û·¢ÏÖÎļþ¼ÐÖÐÓÐsystem£¬readonly£¬hideÀàÐ͵ÄÎļþ£¬ÔòÊDz»ÄÜÖ±½Óɾ³ý
ËûÃǵġ£ÈçºÎ½â¾öÄØ£¿
ÒÔÆäÈËÖ®µÀ»¹ÖÎÆäÈËÖ®Éí£¡
def dryf(fpath) #destroy file
x = Iconv.iconv('utf-8','gbk',fpath).to_s
%x{attrib -R -S -H \"#{Iconv.iconv('gbk','utf-8',x).to_s}\"}
f = File.new(f ......

ʹÓÃaspÁ¬½Óaccess2007×¢ÒâÊÂÏî

ǰ¼¸ÌìÔÚ×Ô¼ºµÄ±Ê¼Ç±¾Éϰ²×°ÁËOFFICE2007¡£½ñÌì×öÁËÒ»¸ö°Ù¶ÈÓÑÇéÁ´½Ó¼ì²éµÄ¹¤¾ß£¬ ÔÚÁ¬½ÓACCESS2007Êý¾Ý¿âµÄʱºò£¬Ê¹ÓõÄÇý¶¯´úÂëΪ£º"provider=microsoft.jet.oledb.4.0;data source="&server.mappath("queryrecord.mdb") ¡£È··¢ÏÖÌáʾ£º
Microsoft JET Database Engine ´íÎó ''80004005''
²»¿Éʶ±ðµÄÊý¾Ý¿â¸ñʽ
µ« ......

netbeans + ruby + watir web×Ô¶¯²âÊÔ¿ò¼Ü´î½¨

ÕâÊÇÒ»¸ö¿ªÔ´£¬Ãâ·Ñ£¬ÁéÇÉ£¬¼òÒ×µÄweb×Ô¶¯»¯²âÊÔ×éºÏ¿ò¼Ü£»Í¨³£Çé¿ö£¬¿ªÔ´µÄ¶«Î÷×ÜÊǸøÈËÒÔÃÔÈË£¬¿ª·ÅʽµÄ´¥¸Ð£¬µ«Í¬Ê±£¬Ò²ÈÃÈËÄÑÒÔ¿ìËÙ½Ó½ü£¨ÏñÊǶ«·½ÄÐÈË¿´´ýÎ÷·½ÃÀÅ®£©£»ÒªÁ˽âÒ»¸ö¿ªÔ´¶øÇÒ×éºÏƯÁÁµÄ¿ò¼Ü£¬×ÜÊÇÒª·ÑЩÖÜÕÂ......×ܶøÑÔÖ®£¬Ëü²»»áÏñÊշѵĶ«Î÷£¬ÄãºÜÌÖÑáËü£¬µ«²»¿É·ñÈÏ£¬ÄãµÄ¸¶·ÑÆäʵ»»È¡Á˱ðÈ˵ÄËöËéÀͶ ......

ÈçºÎѹËõ´øÓÐmdw°²È«Îļþ»úÖÆºÍÃÜÂëµÄµÄaccessÊý¾Ý¿â

a £½ “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Êý¾Ý¿â.mdb;Password=¹ÜÀíÔ±ÃÜÂë;User ID=¹ÜÀíÔ±ÕʺÅ;Jet OLEDB:Database Password=Êý¾Ý¿âÃÜÂë;Jet OLEDB:System database=d:\system.MDW;”  ' ´Ë´¦Óû§ÕÊ»§±ØÐë¾ßÓйÜÀíԱȨÏÞ²ÅÐÐ,´Ë´¦ÊÇÖ¸Á¬½ÓÐèҪѹËõµÄÊý¾Ý¿âµÄÁ¬½Ó´úÂë.
 
b £½ &ldq ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ