I'm connecting to a MS SQL 2005 database using ADO com objects and getting a 
dataset from a stored procedure -- Works great.

I'm placing that dataset into a dictionary -- works.
I'm placing that dictionary into a list -- problem!! When I move to the next 
record in the dataset and place the dictionary created from that into the list 
all the members that are in the list change to that record.

here is that portion of the code:

    prv640_records = []
    while not rtn.EOF:
      prv640_dict['promise_id'] = rtn.Fields.Item('promise_id').Value
      prv640_dict['service_location'] = 
rtn.Fields.Item('service_location').Value
      prv640_dict['mco_code'] = rtn.Fields.Item('subnetwork_id').Value
      prv640_dict['begin_date'] = rtn.Fields.Item('begin_date').Value
      prv640_dict['end_date'] = rtn.Fields.Item('end_date').Value
      prv640_dict['mco_prov_number'] = rtn.Fields.Item('provider_id').Value
      prv640_dict['action'] = rtn.Fields.Item('STATUS').Value

      rtn.MoveNext()  
      prv640_records.append(prv640_dict)

So the first time through the while loop, prv640_records will contain one 
dictionary that is the first record in rtn. The second time through the loop 
prv640_records will contain 2 dictionaries that are both the 2nd record in rtn. 
The first dictionary in prv640_records is somehow replaced.

So in testing this with a record set of 402 records, at the end of the while 
loop, the list prv640_records will contain 402 dictionaries that are all the 
last record of rtn.

I hope this is a clear explanation of the problem. Does anyone have an idea 
why? I been trying to figure this out for 3 hours now.

Rod Person 
Sr. Programmer 
(412)454-2616 
http://www.ccbh.com 
Just because it can be done, doesn't it mean it should be done.
- Anon

_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to