如何为数据库中的一列生成唯一的字符串?

问题描述 投票:0回答:1

我试图用唯一的字符串填充数据库中的一列。我如何实现这个目标?

我目前的代码只是调用了同一个实例的 GetUniqueKey() 方法,所以它只是生成相同的密钥。这个方法只会运行一次。就像我说的,我试图为每一行生成一个唯一的键。这个 GetUniqueKey() 方法生成一个字母数字字符串。我如何在 Hash.GetUniqueKey() 以获得一个新的唯一键?

private readonly int KEY_SIZE = 5;

public void Fill() {
    connectionStringBuilder.InitialCatalog = "parts";
    connection.ConnectionString = CONSTANTS.connStringParts;

    string query = @"UPDATE parts SET [InternalID] = '" + Hash.GetUniqueKey(KEY_SIZE) + "'";
    SqlCommand command = new SqlCommand(query, connection);
    using(connection) {

        try {
            connection.Open();
            command.ExecuteNonQuery();
            connection.Close();
        }
        catch(Exception ex) {
            MessageBox.Show(Resource1.DatabaseConnectionError, Resource1.Error, MessageBoxButton.OK, MessageBoxImage.Error);
        }
    }
}
c# sql database wpf instance
1个回答
0
投票

你有没有考虑使用Guid?

https:/docs.microsoft.comtr-trdotnetapisystem.guid.newguid?view=netframework-4.8。

// Create and display the value of two GUIDs.
Guid g = Guid.NewGuid();
Console.WriteLine(g);
Console.WriteLine(Guid.NewGuid());

// This code example produces a result similar to the following:

// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7
© www.soinside.com 2019 - 2024. All rights reserved.