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

ruby Á¬½Ó²Ù×÷ sql2005


The following is improved version of the code created by David Mullet, from
http://rubyonwindows.blogspot.com/2007/03/ruby-ado-and-sqlserver.html
require 'win32ole'
class SqlServer
# This class manages database connection and queries
attr_accessor :connection, :data, :fields
attr_writer :username, :password
def initialize(host, username = 'sa', password='')
@connection = nil
@data = nil
@host = host
@username = username
@password = password
end
def open(database)
# Open ADO connection to the SQL Server database
connection_string = "Provider=SQLOLEDB.1;"
connection_string << "Persist Security Info=False;"
connection_string << "User ID=#{@username};"
connection_string << "password=#{@password};"
connection_string << "Initial Catalog=#{database};"
connection_string << "Data Source=#{@host};"
connection_string << "Network Library=dbmssocn"
@connection = WIN32OLE.new('ADODB.Connection')
@connection.Open(connection_string)
end
def query(sql)
# Create an instance of an ADO Recordset
recordset = WIN32OLE.new('ADODB.Recordset')
# Open the recordset, using an SQL statement and the
# existing ADO connection
recordset.Open(sql, @connection)
# Create and populate an array of field names
@fields = []
recordset.Fields.each do |field|
@fields << field.Name
end
begin
# Move to the first record/row, if any exist
recordset.MoveFirst
# Grab all records
@data = recordset.GetRows
rescue
@data = []
end
recordset.Close
# An ADO Recordset's GetRows method returns an array
# of columns, so we'll use the transpose method to
# convert it to an array of rows
@data = @dat


Ïà¹ØÎĵµ£º

sqlÏÈÅÅÐòºó·Ö×éµÄʵÏÖ

ÓÐÕâÑùÒ»¸öÊý¾Ý¿â±í  
  t1             t2           t3……n  
  --------------------------  
  aaa      ......

ÔÚSql Server Öе÷ÓÃJmail×é¼þ·¢ËÍÓʼþ


 ÔÚSql Server Öе÷ÓÃJmail×é¼þ·¢ËÍÓʼþ
Ô¤±¸ÖªÊ¶
    1£®OLE×Ô¶¯»¯º¯Êý
    OLE×Ô¶¯»¯Ê¹Ó¦ÓóÌÐòÄܹ»¶ÔÁíÒ»¸öÓ¦ÓóÌÐòÖÐʵÏֵĶÔÏó½øÐвÙ×÷£¬»òÕß½«¶ÔÏ󹫿ªÒÔ±ã¿ÉÒÔ¶ÔÆä½øÐвÙ×÷¡£×Ô¶¯»¯¿Í»§¶ËÊǿɶÔÊôÓÚÁíÒ»¸öÓ¦ÓóÌÐòµÄ¹«¿ª¶ÔÏó½øÐвÙ×÷µÄÓ¦ÓóÌÐò£¬±¾ÎÄÖµµÃÊÇSql Server¡£¹«¿ ......

SQL¾­µäÐÐתÁÐ

--²âÊÔ±í
create table tb_month
(monthid varchar(2),mongthName varchar(50))
insert into tb_month
select '01','Ò»ÔÂ'
union all select '02','¶þÔÂ'
union all select '03','ÈýÔÂ'
union all select '04','ËÄÔÂ'
union all select '05','ÎåÔÂ'
union all select '06','ÁùÔÂ'
union all select '07','ÆßÔÂ'
......

ÔÚXPÉÏ°²×°SQL 2000 Server(ժת)

½ñÌì´ÓÍøÂçÉÏÕÒµ½ÁËÔÚXPÉÏ°²×°SQL 2000 ServerµÄ·½·¨£¬´ËÇ°ÎÒÒ»Ö±ÈÏΪÕâÊÇÐв»Í¨µÄ£¬ºóÃægoogleÒ»²é£¬»¹ÕæÊÇ¿ÉÒÔ£¬ÓкܶàÍøÕ¾¶¼ËµÕâ¸ö·½·¨¿ÉÐУ¬ÎÒ¾ÍÈÃlpÊÔÊÔ¿´£¬½á¹ûÕæÐУ¬×ªÔØһϰɣº ÔÚWindows XPÉÏ°²×°SQL Server 2000µÄÖ÷ÒªÁ÷³ÌΪ£º
Ò»¡¢ÔÚSQL·þÎñÆ÷µÄ°²×°ÅÌÖÐÕÒµ½MSDEÕâ¸öĿ¼£¬²¢ÇÒµã»÷setup.exe°²×°Ëü£¬¹ý³Ì ......

ÕûÀíÁËÒ»·ÝÏîÄ¿×éÇ°ÈËд¹ýµÄ¹ØÓÚsql±à³Ì¹æ·¶µÄÎĵµ

Ò»¡¢sqlÊéд¹æ·¶£º
  1¡¢sqlÓï¾äµÄËùÓбíÃû¡¢×Ö¶ÎÃûÈ«²¿Ð¡Ð´£¬ÏµÍ³±£Áô×Ö¡¢ÄÚÖú¯ÊýÃû¡¢sql±£Áô×Ö´óд¡£
   
  2¡¢Á¬½Ó·ûor¡¢in¡¢and¡¢ÒÔ¼°£½¡¢<=¡¢>=µÈÇ°ºó¼ÓÉÏÒ»¸ö¿Õ¸ñ¡£
   
  3¡¢¶Ô½ÏΪ¸´ÔÓµÄsqlÓï¾ä¼ÓÉÏ×¢ÊÍ£¬ËµÃ÷Ëã·¨¡¢¹¦ÄÜ¡£
   
&nb ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ