Randomly generating number

Hi, in my application, when a user clicks the add button, the text fileds are activated for the user to input client information, like client ID, name, address etc. The application also connects to a database. What i need to do is randomly generate a three digit clientID, and populate it to the client id textbox when the add button is pressed, but i also need to make sure that the ID generated should not already exist in the database... any ideas...  
intox1221Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

intox1221Author Commented:
Also im using .NET environment...
0
frodomanCommented:
intox1221,

This is going to require generating a random number, then searching the database for it.  If it's found, you'll have to repeat the process.  The more users you get the more times you'll have to repeat this process.

I can help if you're certain this is what you want to do, but I'd take a different approach if possible.  Instead of a random number, why not just SELECT MAX(userid) +1 to increment the userid by 1 each time?

Frodoman
0
frodomanCommented:
If you do go w/ the random approach, here's the random number code:

MyInteger = CInt(Int(1000*Rnd()))

0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

intox1221Author Commented:
i declared myinteger as int32 and then equated it with txtClient.text but the application pukes it...
something im missing ?

0
frodomanCommented:
Did you use tostring?

txtClient.text = YourInt32.ToString
0
intox1221Author Commented:
i did..

MyInteger = Cint (txtclient.text)

Also i need to have option strict on which disallows implicit conversions.
0
frodomanCommented:
I assume it's a type conversion problem?  What is displayed in txtClient before the error?  What error is shown?

You might have extra spaces so also try MyInteger = CType(trim(txtclient.text),Int32)
0
intox1221Author Commented:
Still pukin it... this is what i got....

        Dim myinteger As Int32

        myinteger = CInt(Int(1000 * Rnd()))

myinteger = CType(Trim(txtClient.Text), Int32)
0
frodomanCommented:
Where is the error and what is the description of the error?  
0
intox1221Author Commented:
thats the error message.

An unhandled exception of type 'System.InvalidCastException' occurred in microsoft.visualbasic.dll

Additional information: Cast from string "" to type 'Integer' is not valid.
0
frodomanCommented:
This means that txtClient is empty when you reach the code:

   myinteger = CType(Trim(txtClient.Text), Int32)

The block below will avoid the error and use a '0' if the textbox is empty, but you should probably examine your code for why it is empty.

If IsNumeric(txtClient.Text) Then
   myinteger = CType(Trim(txtClient.Text), Int32)
Else
   myinteger = 0
End If

What exactly are you trying to accomplish with this code?  Seems like you create the random number and you'd want to put it INTO your textbox instead of pulling something OUT of it...

  Dim myinteger As Int32
  myinteger = CInt(Int(1000 * Rnd()))
  txtClient.Text = CType(myinteger,String)
0
intox1221Author Commented:
thats exactly what i want. My textbox is empty when the add button is pressed and i want fill it with the randomly generated code... what the add button does is it activates the textfileds, as they are read only or deactivated before that. Then upon pressing the save button, is when i want the data should be sent to the database (that i have already done). So all i wanna do is populate the text field with the randomly generated code.
0
frodomanCommented:
Okay, so when the add button is pressed you want to do this:

  Dim myinteger As Int32
  myinteger = CInt(Int(1000 * Rnd()))
  txtClient.Text = CType(myinteger,String)

This creates a random number and places it into the txtClient textbox.  Is this not working?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
intox1221Author Commented:
Sweeeeet. Works like a charm. But it also generates numbers like 54, 14... can i make it atleast 3 digits... or 014 instead of 14... ??????
0
intox1221Author Commented:
actually that doesnt make much of a difference. nevermind that...
0
intox1221Author Commented:
thanks for ur help on this one. I have another question to the follow up of my current question. So i am posting it as a new question, thanks for ur help. The topic should be "Randomly generating number take 2"
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.