Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: select @@identity

  1. #1

    select @@identity

    Facendo come sotto mi riporta il volore 0 e non va bene.
    Dove sbaglio?.
    Ciao.


    'Settaggio recordset objRS
    Set objRs = Server.CreateObject("ADODB.Recordset")

    'Query
    strSql = "select @@identity FROM barche"

    'Apertura del recordset ed esecuzione della query
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.Open strSql, ConnectString("team"), 3, 3

    ' Se la query restituisce un valore
    if not objRs.eof then
    ' valorizza la variabile
    ultimo_id = objRs(0)
    end if

    'Chudura e distruzione dell oggetto recordset
    objRs.Close
    Set objRs = Nothing
    'Chiusura connessione "conn"

  2. #2
    La select identity si utilizza normalmente di concerto con una query di tipo INSER INTO.

    Nel tuo caso se ti serve sapere l'ultimo id inserito devi utilizzare una query del tipo:
    codice:
    sql = "SELECT MAX(ID) FROM tabella"

  3. #3
    Precedentemente avevo usato insert

    strSql = "INSERT INTO barche ( nome_barca, posizione ) Values ( '"& nome &"' , '"& posiz &"' )"

    objConn.Execute strSql


    Ciao. federico

  4. #4
    Cosa fai posti a rate?

    codice:
    strSQL = "SELECT @@identity FROM barche"
    Set objRSIncremento = Server.CreateObject("ADODB.Recordset")
    objRSIncremento.Open strSQL, objConn
    if not objRSIncremento.eof then
    idrAutoIncremento = objRSIncremento(0)
    end if
    Response.Write AutoIncremento
    objRSIncremento.Close
    set objRSIncremento = nothing
    'Chiudi connessione

  5. #5
    Non è uguale a quello che ho fatto?


    Ciao.

  6. #6
    No.
    Provato?

  7. #7
    Ho sostituito objRSIncremento.Open strSQL, objConn con objRSIncremento.Open strSQL, ConnectString("team"), 3, 3 per la connessione al database.

    Mi riporta sempre 0



    strSQL = "SELECT @@identity FROM barche"
    Set objRSIncremento = Server.CreateObject("ADODB.Recordset")
    'objRSIncremento.Open strSQL, objConn
    objRSIncremento.Open strSQL, ConnectString("team"), 3, 3
    AutoIncremento = objRSIncremento(0)
    Response.Write AutoIncremento
    objRSIncremento.Close
    set objRSIncremento = nothing
    'Chiudi connessione

  8. #8
    Allora il problema è altrove.
    Posta qualche riga in più di codice, please.

  9. #9
    Sotto tutto il codice.

    La pagina ha un form per inserire i dati.
    il nome barca e la posizione vengono inseriti nella tabella barche. Qui devo leggere id per poi inserire Login e password dentro la tabella tAdmin.
    Le tabelle hanno una relazione 1 a 1 con il campo ID_barca.
    Nella tabella tAdmin vi è AdminID che è il contatore.






    <% Response.Buffer=true%>
    <% Session.LCID = 1040 %>



    <html>

    <head>
    <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
    <meta name="generator" content="Adobe GoLive">
    <title>MASTER OF SAIL</title>
    <link rel="stylesheet" href="../../media/css/style.css" type="text/css">
    <meta name="site-config-URL" content="http://www.masterofsail.com/config/">
    </head>

    <body leftmargin='0' topmargin='0' bgcolor="#D5D3D6">
    <div align="center">
    <table width="1013" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="47"></td>
    <td width="14" background="../../media/bordo_sfumato/alto_sx_bordo.jpg"></td>
    <td>
    <div align="center">
    [img]../../media/foto_in_alto/barca_sic.jpg[/img]</div>
    </td>
    <td width="14" background="../../media/bordo_sfumato/alto_dx_bordo.jpg"></td>
    <td width="47"></td>
    </tr>
    </table>
    <table width="1013" border="0" cellspacing="0" cellpadding="0">

    <tr>
    <td width="47"></td>
    <td width="14" background="../../media/bordo_sfumato/alto_sx_bordo.jpg"></td>
    <td>
    <div align="center">
    <table width="891" border="0" cellspacing="0" cellpadding="0" bgcolor="white">
    <tr>
    <td colspan="2" valign="top" width="891">
    <table width="98%" border="0" cellspacing="0" cellpadding="0" align="right">
    <tr height="20">
    <td class="titoli_barre" height="20">


    &gt;&gt; Amministratore &gt;&gt; Team</p>
    </td>
    </tr>
    </table>




    <table width="98%" border="0" cellspacing="0" cellpadding="0">

    <tr>
    <td width="24"></td>
    <td>
    <%
    Dim nome, posiz, log, pass
    Submitted = Request.Querystring("submitted")
    If submitted then
    ' raccogliamo i dati
    nome = replace(Request.Form("nomebarca"),"'", "''")
    posiz = replace(Request.Form("posizione_barca"),"'", "''")
    log = replace(Request.Form("log"),"'", "''")
    pass = replace(Request.Form("pass"),"'", "''")

    ' COLLEGAMENTO A AL DATABASE
    set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open ConnectString("team")

    'strSql = "UPDATE testi SET titolo = '"& titolo &"' WHERE ID ="& posizione
    'strSql = "UPDATE imbarcazione SET titolo_barca = '"& titolobarca &"' , testo_barca = '"& testobarca &"' , sottotitolo = '"& sottotitolo &"' , testo_home_page = '"& testohp &"' , testo_completo = '"& testocompleto &"' , periodo = '"& periodo &"' , manifestazione = '"& manifestazione &"' , foto = '"& fotografia &"' WHERE ID ="& posizione
    'strSql = "UPDATE barche SET nome_barca = '"& nome &"' , posizione = '"& posiz &"'WHERE ID_barca ="& Session("idbarca")

    strSql = "INSERT INTO barche ( nome_barca, posizione ) Values ( '"& nome &"' , '"& posiz &"' )"

    objConn.Execute strSql

    ' Chiusura database
    objConn.Close
    Set objConn = Nothing

    'strSql = "Select ID_barca From barche order by ID_barca desc"
    'set objConn = Server.CreateObject("ADODB.Connection")
    'objConn.Open ConnectString("team")
    'Set objRs = Server.CreateObject("ADODB.Recordset")
    'objRs.Open strSql, ConnectString("team"), 3, 3


    strSQL = "SELECT @@identity FROM barche"
    Set objRSIncremento = Server.CreateObject("ADODB.Recordset")
    'objRSIncremento.Open strSQL, objConn
    objRSIncremento.Open strSQL, ConnectString("team"), 1, 3
    AutoIncremento = objRSIncremento(0)
    Response.Write AutoIncremento
    objRSIncremento.Close
    set objRSIncremento = nothing
    'Chiudi connessione


    'Apertura del recordset ed esecuzione della query
    'Set objRs = Server.CreateObject("ADODB.Recordset")
    'objRs.Open strSql, ConnectString("team"), 3, 3


    ' Ricordo che objConn è il nome della connessione attiva
    'objRs.open strsql, objConn, 1, 3

    'Session("idbarca") = objRs("ID_barca")
    Response.Write "A"
    Response.Write AutoIncremento
    Response.Write "A"
    Response.Write log
    Response.Write "A"
    Response.Write pass


    'objRs.Close
    'Set objRs = Nothing
    'objConn.Close
    'Set objConn = Nothing

    ' COLLEGAMENTO A AL DATABASE
    set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open ConnectString("team")

    strSql = "INSERT INTO tAdmin ( [Login], [Password], ID_barca ) Values ( '"& log &"' , '"& pass &"' , '"& AutoIncremento &"' )"

    Response.Write strSql

    objConn.Execute strSql

    ' Chiusura database
    objConn.Close
    Set objConn = Nothing


    'response.redirect "ammin_team.asp"
    end if
    %>







    NOTA:




    Qualsiasi scritta in minuscolo

    <form action="ammin_team_new.asp?submitted=true" method="post" name="mod_aggiorna_news">
    <table width="100%" border="1" cellspacing="2" cellpadding="0">
    <tr>
    <td bgcolor="#ffc400">NOME BARCA</td>
    </tr>
    <tr>
    <td><textarea name="nomebarca" rows="1" cols="100"></textarea></td>
    </tr>
    <tr>
    <td bgcolor="#ffc400">POSIZIONE</td>
    </tr>
    <tr>
    <td>

    <select name="posizione_barca" size="1">

    <%
    Dim i
    i= 1
    Do While not(i=30)
    %>
    <%
    If i=1 Then
    %>
    <option value="<%=i%>" selected><%=i%></option>
    <%
    Else
    %>
    <option value="<%=i%>"><%=i%></option>
    <%
    End If
    %>

    <%
    i=i+1
    Loop
    %>
    </select>

    </td>
    </tr>
    <tr>
    <td bgcolor="#ffc400">LOGIN</td>
    </tr>
    <tr>
    <td><textarea name="log" rows="1" cols="100"></textarea></td>
    </tr>
    <tr>
    <td bgcolor="#ffc400">PASSWORD</td>
    </tr>
    <tr>
    <td><textarea name="pass" rows="1" cols="100"></textarea></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr>
    <td><input type="submit" name="invia" value="NUOVO TEAM"></td>
    </tr>
    </table>


    </form>




    </td>
    </tr>
    </table>




    </td>
    </tr>
    </table>
    </div>
    </td>
    <td width="14" background="../../media/bordo_sfumato/alto_dx_bordo.jpg"></td>
    <td width="47"></td>
    </tr>
    </table>
    </div>
    </body>

    </html>

  10. #10
    Mi pare d'aver detto che la select @@identity si utilizza di concerto con una query insert into.

    Tu prima fai la select @@identity poi la insert into.

    E poi a che ti serve una select @identity dopo una select?

    codice:
    'COLLEGAMENTO AL DATABASE 
    set objConn = Server.CreateObject("ADODB.Connection") 
    objConn.Open ConnectString("team") 
    
    strSql = "INSERT INTO tAdmin ( [Login], [Password], ID_barca ) Values ( '"& log &"' , '"& pass &"' , '"& AutoIncremento &"' )" 
    Response.Write strSql 
    objConn.Execute strSql 
    
    strSQL = "SELECT @@identity FROM tAdmin"
    Set objRSIncremento = Server.CreateObject("ADODB.Recordset")
    objRSIncremento.Open strSQL, objConn
    if not objRSIncremento.eof then
    idrAutoIncremento = objRSIncremento(0)
    end if
    Response.Write AutoIncremento
    objRSIncremento.Close
    set objRSIncremento = nothing
    
    
    'Chiudi connessione 
    objConn.Close 
    Set objConn = Nothing

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.