Re: Key in Dictionary



perhaps a simple test like:
if(dupe in dictionary)
throw new exception (" I have a dupe");

should indicate where the problem is. If you have an exception, it will tell you clearly that the key duplication was attempted - that's programmer error. If you don't have an exception and you get the *reproducible* error, that's a framework error. And the very thought of that gets me excited so post some code if it's the latter and we will take a look.

--
Regards,
Alvin Bruney
------------------------------------------------------
Shameless author plug
Excel Services for .NET is coming...
OWC Black book on Amazon and
www.lulu.com/owc
Professional VSTO 2005 - Wrox/Wiley


"Ross Culver" <rculver@xxxxxxxxxxxxxxx> wrote in message news:urLI2fQkHHA.4040@xxxxxxxxxxxxxxxxxxxxxxx
Thanks for responding Alvin, and frankly, as prolific as this error is, I can't understand why everyone is jumping up and down screaming foul.

Ok, the dataviewgrid use and SQLDatasource. There are absolutely no duplicate primary indexes and the primary index is the first of 3 datakeynames specified. The only reason I'm even using these datakeys is because I don't want to display these three columns in the grid, but their data is crucial. The columns corresponding to these 3 datakeys are not necessarily the 1st 3 columns of the grid, if that matters.

I have a select button which when clicked uses the datakey of ID (Select Case Me.gvQuickSearch.SelectedDataKey.Item(1).ToString . . . ) to redirect the user to a page which retrieves pertinent data based on the ID passed in the querystring.

When selected the first time, it works fine. Upon returning to the datagridview page and clicking another (or the same) row, the error occurs without fail, 'Item has already been added. Key in dictionary:'ID' Key being added 'ID'.

As I write this it's clear that it's a session issue. I'm using SQLServer statemode, Autodetect. Apparently when I click the select button, the dictionary is getting repopulated with the datakeys from the grid and since the returned dataset hasn't changed, it's trying to write the same values again. Ok, do I have the wrong session state settings? I've tried switching the session state modes with no change.

Is it possible to clear the dictionary after each row selection?

I'm going to try clearing all session variables on each click and see what happens.

Ross
.



"Alvin Bruney [MVP]" <some guy without an email address> wrote in message news:usm3L4PkHHA.1220@xxxxxxxxxxxxxxxxxxxxxxx
> I'm not sure i understand your issue. Keys must be unique, the constraints
> are enforced. It seems obvious to me that you have a dupe in the process
> either with the submit or elsewhere. Are you saying that the data structure
> itself is corrupted?
>
> --
> Regards,
> Alvin Bruney
> ------------------------------------------------------
> Shameless author plug
> Excel Services for .NET is coming...
> OWC Black book on Amazon and
> www.lulu.com/owc
> Professional VSTO 2005 - Wrox/Wiley
>
>
> "Ross Culver" <rculver@xxxxxxxxxxxxxxx> wrote in message
> news:%23c0PaLOkHHA.4936@xxxxxxxxxxxxxxxxxxxxxxx
>> Could this possibly be a session issue? Are the key values dropped at the
>> end of each session?
>>
>> Ross
>>
>>
>> "Ross Culver" <rculver@xxxxxxxxxxxxxxx> wrote in message
>> news:uvX6mZNkHHA.2008@xxxxxxxxxxxxxxxxxxxxxxx
>>> This error message "Item has already been added. Key in dictionary . . .
>>> " has become a major problem for me.
>>>
>>> I have a website whose main attractions (the money maker) are the two
>>> datagridviews used to return user requested information. The site is
>>> still in debug mode as we're in the final testing phase, so we're
>>> pounding the query and the grid to test it thoroughly.
>>>
>>> This site was built with VS 2K5, DotNet 2.0 on a Windows 2003 server and
>>> is AJAX enabled.
>>>
>>> This error is now popping up frequently and can only be corrected by
>>> removing the datakeyNames from the settings, saving and then re-inputting
>>> the keys. The Datamember is set to 'DefaultView'. I have no custom
>>> dictionaries and no code to manage these keys (neither to add nor to
>>> remove keys). Googling the error I found many folks suffering from the
>>> problem, but no one had even mentioned simply removing the keys.
>>>
>>> My site is 'DOWN' if I cannot get this problem resolved.
>>>
>>> What can I do to stop getting this error? Do I have to manage the keys?
>>> How?
>>>
>>> Thanks tremendously in advance.
>>>
>>> Ross
>>>
>>
>>
>
>
Loading