unique key

  • Thread starter Thread starter John
  • Start date Start date
J

John

I want my program to add a unique key to each item added to a table in
addition to the PK. What is the best way for me to track the last key
generated. The key will be a special string so I cant just increment it.
 
Hi John,

I think the best way to track the last key generated in your program is
using a singleton class to store the last key.

You may define the singleton class as follows.

public class MyClass
{
private static MyClass theInstance = null;
private MyClass()
{
}

public static MyClass Instance()
{
if (theInstance == null)
{
theInstance = new MyClass();
}
return theInstance;
}

private string uniqueKey = "";
public string UniqueKey
{
get { return uniqueKey;}
set { uniqueKey = value;}
}
}

Then you could use this class in your program to read and write the last
unique key as follows.

MyClass myInstance = MyClass.Instance();
string uniquekey = myInstance.UniqueKey;

Hope this helps.
If you have anything unclear, please feel free to let me know.


Sincerely,
Linda Liu
Microsoft Online Community Support

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
 
Hello John,

To add to what the others hace said, don't forget to make the database that
you are putting your unique key in a unique constraint. While Guids are
unique when generated, nothing stops another client from writing one Guid
from one record to another. While this may never happen, it is always good
to safeguard the database as well. Lastly, by using a unique constraint, you
will receive a SqlException if you attempt to violate the uniqueness. This
can further help you in achieving your goal.

Regards,

Fritz
 
Back
Top