Prefill form with Incremental 9 didgit number

I have a form that once filled will insert the data into a table called TempGIS
The form requires that you enter in a log number.
I want this log number to be prefilled when the person access the page and that number should not be a number that is already in the Table tempGIS.
So basicly each time a person visits the page a UNIQUE number will be prefilled in the Log_ID field.

Can this be done?
LVL 2
xeroxcanadaAsked:
Who is Participating?
 
devsolnsConnect With a Mentor Commented:
why not just generate a random GUID that will always be unique!


declare @guid uniqueidentifier
set @guid= NEWID()
print 'Value of @guidis: '+ RIGHT(CONVERT(varchar(255), @guid),9)
0
 
BrandonGalderisiCommented:
The best way to do this would be to have a log ID.

create table TempGIS_LogID
 (LogID int identity(1,1) primary key clustered
 ,usedate datetime getdate())

and a retrieval procedure

create procedure up_GetLogId
as
insert into tempGIS_logid(usedate) values (getdate())
select '000000000' + cast(scope_identity() as varchar(9)) as LogID
go


Now if you execute up_GetLogId when you load your page, you will have a preallocated ID that can't be reused.
0
 
xeroxcanadaAuthor Commented:
When the page loads and runs the procedure how do I get the Log_ID in a form field on that page.
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
BrandonGalderisiCommented:
That depends on what language you are using and how you do your database connections currently.  When that procedure executes, it will return a value.  The value will be a single record, single column called LogID.
0
 
xeroxcanadaAuthor Commented:
I am using Dreamweaver and ASP. So when the page loads runs the procedure do I create a varailable called Log_ID and put that into the Form Field?

Also when trying to create the table TEMPGIS_Log_ID I get the following error.
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'getdate'.
0
 
BrandonGalderisiConnect With a Mentor Commented:
Sorry... functions can't go in values clauses but the rest still applies.

The right 0 digits, while highly unlikely to repeat, are not guaranteed not to.  And the request is for an incremental number, not pseudo random alphanumeric (hex).

How are you doing your other database access.  You will just need to call and get the value from the procedure in the same way.



create table TempGIS_LogID
 (LogID int identity(1,1) primary key clustered
 ,usedate datetime default getdate())
go
create procedure up_GetLogId 
as
insert into tempGIS_logid(usedate) select getdate()
select '000000000' + cast(scope_identity() as varchar(9)) as LogID
go

Open in new window

0
 
xeroxcanadaAuthor Commented:
Thank You both for your help. Although both Items could have solved my problem I used only one and will keep the other option on the back burner.
I have included the Code that I used to solve the question.
Again Thank you very much for such a fast response

<%
Function createGuid()
  Set TypeLib = Server.CreateObject("Scriptlet.TypeLib")
  tg = TypeLib.Guid
  createGuid = left(tg, len(tg)-2)
  Set TypeLib = Nothing
End Function
%>
 
<%guidis = RIGHT(createGuid,9) %>

Open in new window

0
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.

All Courses

From novice to tech pro — start learning today.