Good Afternoon,
I am trying to figure out how to get data from an array into an access
table.
On the rubyonwindows site I found the following code:
db = AccessDb.new(‘c:\Baseball\lahman54.mdb’)
db.opendb.query(“SELECT * FROM AllStar WHERE playerID =
‘conceda01’;”)field_names = db.fields
rows = db.data
db.execute(“INSERT INTO HallOfFame VALUES (‘Dave’, ‘Concepcion’);”)
db.close
This code works fine if I break the array up into seperate elements but
I think there must be a simpler way.
this is how the array is built:
class <<Array
def multi(n, *args, &block)
if args.empty?
Array.new(n, &block)
else
Array.new(n) do
Array.multi(*args, &block)
end
end
end
end
card=Array.multi(24,24)
so the question is; How do i get the data loaded into this array into my
access table called wps in a database wps.mdb?
I have been trying to do something like this:
db.execute(“INSERT INTO wps_test VALUES(‘card [$h]’);”
Any help would be greatly appreciated.
Cooper Deford wrote:
Good Afternoon,
I am trying to figure out how to get data from an array into an access
table.
On the rubyonwindows site I found the following code:
db = AccessDb.new(‘c:\Baseball\lahman54.mdb’)
db.opendb.query(“SELECT * FROM AllStar WHERE playerID =
‘conceda01’;”)field_names = db.fields
rows = db.data
db.execute(“INSERT INTO HallOfFame VALUES (‘Dave’, ‘Concepcion’);”)
db.close
This code works fine if I break the array up into seperate elements but
I think there must be a simpler way.
this is how the array is built:
class <<Array
def multi(n, *args, &block)
if args.empty?
Array.new(n, &block)
else
Array.new(n) do
Array.multi(*args, &block)
end
end
end
end
card=Array.multi(24,24)
so the question is; How do i get the data loaded into this array into my
access table called wps in a database wps.mdb?
I have been trying to do something like this:
db.execute(“INSERT INTO wps_test VALUES(‘card [$h]’);”
Any help would be greatly appreciated.
Assuming you are working with something like the AccessDb class defined
here…
…you could iterate over your array and generate/execute an SQL insert
statement, like this:
my_array.each do |a|
b = a.collect{|x| x = “'” + x + “'”}
c = b.join(“,”)
sql = “INSERT INTO MyTable VALUES (#{c});”
db.execute(sql)
end
The above code can certainly be improved upon, but hopefully gives you
an idea.
David
David,
Thanks very much for your response. This works just fine as is. I fooled
around quite a bit with join as part of the sql= statement but never
thought to iterate through the array. This is great.
Thanks again,
Cooper