Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gabriel Jansen

Consulta no Banco de dados

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes de gerar consulta o bd primeiro para comprar se já existe, cria outro. Tem um exemplo que postei onde gera uma sequência aleatoriamente sem se repetir. dá uma olhada no fórum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso e caso não se não existir vc pode gerá-lo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.