Как создать уникальную строку для столбца в базе данных? - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь заполнить столбец в базе данных уникальными строками. Как мне этого добиться?

Мой текущий код просто вызывает тот же экземпляр метода GetUniqueKey(), что генерирует тот же ключ. Этот метод будет запущен только один раз. Как я уже сказал, я пытаюсь создать уникальный ключ для каждой строки. Метод GetUniqueKey() создает строку alphanumeri c. Как мне вызвать новый экземпляр 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);
        }
    }
}

1 Ответ

0 голосов
/ 22 апреля 2020

Рассматривали ли вы использовать Guid?

https://docs.microsoft.com/tr-tr/dotnet/api/system.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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...