Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
>
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
Como está sua string SQL ?
update GERACAO set DSTN = 0 where idGeracao = 2530
O update é simples assim.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>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
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