我试图用唯一的字符串填充数据库中的一列。我如何实现这个目标?
我目前的代码只是调用了同一个实例的 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);
}
}
}
你有没有考虑使用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