Click here to Skip to main content
15,886,067 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more: , +
How to auto generate number between 10000 to 99999 without repeat number
Posted

Create random numbers between the give range using the Random class.
Then put the number in a dictionary.
Generate the next number.
If the number is present in the dictionary create a new number else display this number.
 
Share this answer
 
From your question its not clear that where you want this means in code behind or database query.

if want in code-behind try this:-
C#
Random number = new Random();

int genNumber = number.nextInt();

while (true)
 {
    genNumber = number.nextInt();
    if (genNumber > 10000 && genNumber < 99999)
                    {
        break;
      }
}
System.out.println("Random  Number:"+genNumber);



sql query:-

SQL
SELECT FLOOR(RAND() * 99999) AS random_num
FROM table_Name
WHERE "col_Name" NOT IN (SELECT my_number FROM numbers_mst)
LIMIT 1
 
Share this answer
 
Why just not use standard Random.Next Method (Int32, Int32)[^]?
C#
Random rand = new Random();
int value = rand.Next(10000, 100000);

In case you are generating random numbers in loop, you need to create instance of Random outside the loop (class static readonly field would be good for this).

In SQL Server you can use this code for getting single random number:
SQL
SELECT 10000 + CAST(RAND() * (100000 - 10000) AS INT)

In case you need to generate random number for each row of your result set, you have to use NEWID[^] instead of RAND[^] function:
SQL
SELECT 10000 + (ABS(CAST(CAST(NEWID() AS VARBINARY) AS INT)) % (100000 - 10000))
 
Share this answer
 
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900