Ho dois-je aller à ajouter à la colonne minutes au hasard dans les données, voici mon code:minutes au hasard en C# 2.0
protected void btnUpdateTable_Click(object sender, EventArgs e)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
///check if column[logout] is null or empty, fill it
if(dr.IsNull("logout_time"))
{
///get the login colum datetime
/// add random datetime to it
if (!dr.IsNull("login_time"))
{
DateTime dt = Convert.ToDateTime(dr["login_time"]);
dt = dt.AddMinutes(?);/// "?"<--here I want to add random minutes
}
}
}
Toute aide grandement appréciée.
Merci à tous pour l'aide, voici mon dernier extrait de code:
foreach (DataRow dr in ds.Tables[0].Rows)
{
///check if column[logout] is null or empty, fill it
if(dr.IsNull("logout_time"))
{
///get the login colum datetime
/// add random datetime to it
if (!dr.IsNull("login_time"))
{
DateTime dt = Convert.ToDateTime(dr["login_time"]);
Random rand = new Random();
//return random.Next(0, 59);
dt = dt.AddMinutes(rand.Next(0,59));
dt = dt.AddSeconds(rand.Next(0, 59));
dr["logout_time"] = dt;
}
}
}
Dans la gamme 0-59? –
* * * Comme mentionné ci-dessous, il est essentiel de placer la ligne 'Random rand = new Random()' en dehors de votre boucle foreach. Sinon, vous obtiendrez probablement une séquence de minutes comme '(42, 42, 42, 27, 27 ...)', car Random est ensemencé par l'heure du système. –
En outre, les instructions 'rand.Next (0, 59)' doivent être 'rand.Next (0, 60)' car la limite supérieure de 'Random.Next()' est exclusive. Cela vous donnera la plage '0-59' désirée. Sinon, ça va bien! –