Ir para conteúdo

POWERED BY:

Arquivado

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

interlokk

[Resolvido] Estampar o valor de registro recém criado

Recommended Posts

Olá pessoal, boa tarde. Estou com uma dúvida sobre ASP e queria uma dica se possível. Como faço para estampar na página de redirecionamento o valor da chave primária de um registro recem criado?

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo é autonumeração?

SELECT TOP 1 cdregistro FROM tabela ORDER BY DESC

 

Para MYSQL utilize LIMIT

 

Obs. seria interessante colocar um campo que não se repete comparando no WHERE, assim você não terá problemas quando duas pessoas se cadastrarem no mesmo segundo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo é autonumeração?

SELECT TOP 1 cdregistro FROM tabela ORDER BY DESC

 

Para MYSQL utilize LIMIT

 

Obs. seria interessante colocar um campo que não se repete comparando no WHERE, assim você não terá problemas quando duas pessoas se cadastrarem no mesmo segundo.

 

obrigado pela dica, funcionou como eu queria!

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta não é a forma mais correta quando se trata de varios acessos simultaneos. A consulta com TOP pode retornar o ID de uma outra sessão.

 

com sql server você usa @@IDENTITY, no MySQL INSERT_LAST_ID e no Oracle NEXT VAL.

 

Eu criei uma funçãozinha pra fazer essa operação(testado em sql server, mysql e access), oara o correto funcionamento a chave promária deverá ser a primeira coluna da tabela(se preferir pode fazê-lo dinamico) veja abaixo:

'***********************************
'Função:			inserirRegistro
'Finalidade:	Inserir os registros na tabela e retornar o ID do registro afetado
'Autor:				Jonathan Cardozo
'***********************************
Function inserirRegistro(ByVal tabela, ByVal arrayColuna, ByVal arrayValor)
	'tabela(String) 			:= Nome Tabela a ser inserido o registro
	'arrayColuna(Array) 	:= Array das colunas da tabela referenciada
	'arrayValor(Array)		:= Array dos valores serem inseridos de acordo com a posição das colunas

	'Teste simples dos parâmetros
	If Trim(tabela & "") = "" Then
		Response.Write "Tabela não definida"
		Response.End()
	End If
	If (Ubound(arrayColuna) <> Ubound(arrayValor)) Or (Not IsArray(arrayColuna) Or Not IsArray(arrayValor)) Then
		Response.Write "Número de Colunas diferente do Número de Valores."
		Response.End()
	End If

	'Inicializando as variáveis
	Dim i
	Dim rs

	'Criando o objeto recordset
	Set rs = Server.CreateObject("ADODB.Recordset")

	'Abrindo o objeto e definindo propriedades
	rs.Open Trim(tabela & ""), Connect, 1, 3, 2

	'Abrindo um novo registro
	rs.AddNew

	'Varrendo o array e definindo os dados
	For i = 0 To Ubound(arrayColuna)
		rs(arrayColuna(i)) = arrayValor(i)
	Next

	'Confirmando a transação
	rs.Update

	'Devolvendo a primeira coluna(chave autonumérica) para a função
	inserirRegistro = rs(0)

	'Destruindo o objeto recordset
	rs.Close()
	Set rs = Nothing
End Function

Response.Write inserirRegistro("teste", Array("nome", "data"), Array("joão2", date))

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.