Ir para conteúdo

Arquivado

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

kelvim

resultado de insert ou update

Recommended Posts

Bom dia,

estou executando updates e inserts pela aplicação asp com o comando

Conectar.Execute SQL

Gostaria de saber se tem como recuperar o numero de linhas afetadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysqli_insert_id($link_conexao_sql);

Eu utilizo essa função em PHP para recuperar o ultimo ID criado.

Essa função retorna a ultima inserção da conexão e não de uma tabela ou linha especifica.

https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.insert-id.html

Compartilhar este post


Link para o post
Compartilhar em outros sites
mysqli_insert_id($link_conexao_sql);

Eu utilizo essa função em PHP para recuperar o ultimo ID criado.

Essa função retorna a ultima inserção da conexão e não de uma tabela ou linha especifica.

https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.insert-id.html

Opa, valeu, acho que faltou informação, estou usando ASP clássico, e banco SQL SERVER

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está sua string SQL ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O id está correto ? O tipo de dados para o campo está correto também.

Para recuperar o último no Access ou SQL Server use assim:

você pode antes recuperar o ultimo registro incluido, você pode usar o SQL Last()
A função Last() retorna o último valor da coluna selecionada.

SELECT LAST(column_name) FROM table_name

existem alguns tópicos sobre este assunto no forum, da´uma pesquisada...

no SQL SERVER, você pode recuperar essa valor com

SELECT @@IDENTITY

no MySQL você pode usar o LAST_INSERT_ID()

========

ultimo registro e somar + 1 e inserir no bd
<%@ Language=VBScript %>
<% Option Explicit %>
<%
'conexao teste com  mdb
Dim localbd, bd

Set bd = Server.CreateObject("ADODB.Connection")
localbd = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath("banco.mdb")
bd.Open localbd

Dim sql, rs
Dim cd_pedido

Set rs = Server.CreateObject("ADODB.RecordSet")

if Request.Form("btenvia") = "Gerar Numero" then
        'Novo numero
        SQL = "SELECT MAX(N_PEDIDO)+1 AS ULITMO_PEDIDO FROM PEDIDO"
        Set rs = bd.Execute (sql)
        cd_pedido = rs.Fields("ULITMO_PEDIDO").Value
        
        'inserindo novo numero
        bd.Execute ("INSERT INTO PEDIDO (N_PEDIDO) VALUES (" & cd_pedido & ")")
        rs.Close
        
end if

'verificando numero
SQL = "SELECT MAX(N_PEDIDO) AS ULITMO_PEDIDO FROM PEDIDO"
Set rs = bd.Execute (sql)
cd_pedido = rs.Fields("ULITMO_PEDIDO").Value


rs.Close
Set rs = Nothing

bd.Close
Set bd = Nothing
%>
<html>
<head>
<title>Numero Sequencial</title>
</head>
<body>
<center>
<form  id="frm" action="Numero_Sequencial.asp" method="post">
Numero do ultimo pedio:<%=cd_pedido%><br>
<input type="submit" id="btenvia" name="btenvia" value="Gerar Numero" />
</form>
</center>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal pela ajuda,

eu fiz de forma diferente do que eu queria, a solução encontrada foi fazer um select no campo que eu acabei e alterar para garantir que a operação foi bem sucedida.

eu esperava achar alguma função no asp semelhante ao mysql_affected_rows do PHP

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.