Consulta no Banco de dados
Boa tarde!
Estou com uma pequena dúvida, possuo um código que gera um serial variando entre letras e números, para controle de rastreio de pedido, o problema é seguinte, eu gero o serial, ele faz uma consulta no banco de dados, para ver se já não possui o registro dele no banco, se já existe ele chama novamente a função e sai do IF, o problema é que queria consultar novamente no banco se o número que foi gerado já existe também, sei que talvez seja difícil mas vai que sai da função e gera outro serial mas que já existe no banco.
Peguei essa função de um sistema do meu pai
'-------------- Função -------------------'
Private Function PW(ByVal length)
Const HRF = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim MX
Dim TPV
Dim LOC
Dim X
Dim Y
Dim WAR()
If isnumeric( length ) Then
MX = 62 : LOC = HRF
Else
PW = null
Exit function
End If
TPV = ""
For X = 1 to CInt( length - 1 )
Randomize
Y = CInt( rnd * MX ) + 1
Randomize
Y = CInt( rnd * Y ) + 1
If Y > MX Or Y < 1 Then Y = 3
TPV = TPV & mid( LOC, Y, 1 )
Next
TPV = strreverse( TPV )
Randomize
Y = CInt( rnd * 10 ) + 1
If Y > 10 Then Y = 1
TPV = TPV & mid( LOC, Y, 1 )
ReDim WAR( length )
For X = 1 to Len( TPV )
WAR( X - 1 ) = mid( TPV, X, 1 )
Next
TPV = ""
For X = 0 to UBound( WAR ) step 2
If X > UBound( WAR ) Then Exit For
TPV = TPV & WAR( X )
Next
For X = 1 to UBound( WAR ) step 2
If X > UBound( WAR ) Then Exit For
TPV = TPV & WAR( X )
Next
PW = cstr( strreverse( TPV ))
End Function
'------------- Fim Função ------------'
SERIAL = PW(10)
SET TS = Server.CreateObject("ADODB.Recordset")
TS.open "SELECT * FROM HISTORICO_PEDIDO WHERE SERIAL='"&SERIAL&"'", conn
IF TS.EOF then
ELSE
Response.Write "Tem serial"
SERIAL = PW(10)
END IF
Discussão (3)
Carregando comentários...