Ir para conteúdo

POWERED BY:

Arquivado

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

rabibi

Gerar numeros para Protocolo

Recommended Posts

Bom pessoal...

minha dúvida é a seguinte, como faço para gerar número seqüenciais?

 

Seria o seguinte:

Em um campo Type:text ele pegar na base de dados o último número e adicionar mais 1

 

Vamos dizer que base de dados id_atendimento q o último número é: 151

quando ele pegar o número 151 e soma com mais 1 = 152

o número 152 vai ser usado para o próximo atendimento a adicionar.

 

estou em dúvida... como faço no asp e se eu uso o id primary outro uso outro campo na tabela com o nome protocolo.

 

Ajudem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem?

 

Pelo que entendi seria isso:

 

if not(cadastro.eof) then

id_cliente = cadastro("id_atendimento") + 1

else

id_cliente = 0

end if

 

Você coloco antes do insert no bd.

 

Falow

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai ter que, ao abrir o atendimento fazer o insert e pegar o id do registro. qualquer modificação no form você fará um update naquele id

 

no my sql tem uma função, se nao me engano, last_insert_id que você pega a ultima PK inserida pela conexao corrente( que será unica)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer pegar o último ID no mesmo script que você insere algum registro no banco, e se este ID for auto_increment. utilize o mysql_insert_id(),

SELECT CODIGO FROM tabela WHERE CODIGO = LAST_INSERT_ID()

até um

select MAX(cod) INTO ultimo_cod from tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

unico problema do MAX é que ele não trata por conexao, ou seja, se duas pessoas fizerem o insert ao mesmo tempo(diferença em milisegundos) pode acontecer de os dois pegarem o mesmo ID usando o MAX. com o last_insert_id isso nao aconteceria

Compartilhar este post


Link para o post
Compartilhar em outros sites

atraves do recordset você pode ter um bloqueio otimista, mas o melhor é o LAST_INSERT_ID()

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou usando Mysql...

 

seria assim: quando eu clicar para abrir o formulário de atendimento para ser preenchido, ele já gera o número de protocolo.

 

Este número já ficaria tenho Input type="text" quando eu terminar de preencher todo o formulário e clicar em Gravar, este dados seriam inseridos junto com o protocolo gerado da tabela(campo).

 

OBS: meu projeto é um sistema de suporte via telefone, ou seja, quando um cliente ligar para mim, eu iria já gerar um número daquela atendimento pelo telefone.

Compartilhar este post


Link para o post
Compartilhar em outros sites

joga o ID criado apartir do imcremento do Last ID, dentro do value no input text e depois dá um UPDATE neles usando o Id criado

Compartilhar este post


Link para o post
Compartilhar em outros sites

joga o ID criado apartir do imcremento do Last ID, dentro do value no input text e depois dá um UPDATE neles usando o Id criado

 

me ajude na prática, estou iniciante em asp.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1º terá k ter a conexao com o bd o recordset criado

executar a SQl SELECT CODIGO FROM tabela WHERE CODIGO = LAST_INSERT_ID()

para criar o proximo ID,e coloca-lo dentro do formulario e no input type text do ID

<input type="text" name="ID" size="12" maxlength="12" value="<%=rs("ID")%>">
e depois de cadastrar o restante do form você dá um Update nele

 

 

varID=replace(ID,"'","")
	'crio a conexao%>
	<!--#include file="conn/conexao1.asp"-->
	<% 'abro a conexao
	call abreconexao
	'crio o rs
	set rs=Server.createobject("ADODB.Recordset")
	'crio a SQL
	SQL="UPDATE tabela SET campo='"&campo1&"',campo2='"&campo2&"',campo3='"&campo3&"' WHERE id="&varID&""
	rs.open SQL,conexao,1,3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Microsoft VBScript runtime error '800a000d'

 

Type mismatch

 

/central/abrir_atendimento_telefonico.asp, line 85

 

 

deu este erro acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

os campos na string SQL com excecao do ID o resto esta tudo como texto, verifique como esta no seu banco

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.