+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Istruzione select scope_identity()

  1. #1
    rbarbato non è in linea Scolaretto
    Post
    198

    Istruzione select scope_identity()

    Buonasera
    cortesemente ho una esigenza
    devo leggere l'ID del record appena inserito in tabella
    in ambiente SSQL usavo le istruzioni
    codice:
     DaMovPnota.InsertCommand.CommandText &= "; SELECT @ID = SCOPE_IDENTITY()"
     Dim pm As New MySqlParameter("@ID", MySqlDbType.Int32)
     pm.Direction = ParameterDirection.Output
     pm.SourceColumn = "ID"
     DaMovPnota.InsertCommand.Parameters.Add(pm)
     DaMovPnota.InsertCommand.UpdatedRowSource = UpdateRowSource.OutputParameters
    aggiungo il parametro alla command
    poi
    codice:
    Dim idMov As Integer = DaMovPnota.InsertCommand.Parameters.Item("@ID").Value
    leggo ID
    ma in ambiente MySql non sembra funzionare
    potete darmi una mano ?
    grazie

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Dovresti provare con SELECT LAST_INSERT_ID();
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    rbarbato non è in linea Scolaretto
    Post
    198
    Grazie ..
    avevo gia capito il tua suggerimento
    ma continuo ad avere problemi
    la variabile IdMov che leggo dopo
    mi risulta valore 0
    puoi dare un occhiate alle altre istruzioni ?
    ho corretto cosi la command.text
    codice:
    DaMovPnota.InsertCommand.CommandText &= "; SELECT @ID = LAST_INSERT_ID ()"
    grazie
    ]
    Ultima modifica di AntonioG; 26-02-2016 09:49 

  4. #4
    rbarbato non è in linea Scolaretto
    Post
    198
    per essere piu precisi la command.test mi viene cosi, parlo di vb.net
    grazie

    INSERT INTO `movimentipnota` (`NPnota`, `Data`, `Ora`, `OpCassa`, `Operatore`, `Operazione`, `Tipo`, `Sigla`, `Descrizione`, `CodCli`, `Cliente`, `TipoOperazione`, `TipoCliente`, `SaldoDocumento`, `netto`, `lordo`, `Entrate`, `Uscite`, `FPiazza`, `Rt1`, `Sc1`, `Rt2`, `Sc2`, `Rt3`, `Sc3`, `Rt4`, `Sc4`, `Rt5`, `Sc5`, `Rt6`, `Sc6`, `Documenti`, `stato`, `cassa`, `StatoPnota`) VALUES (@NPnota, @Data, @Ora, @OpCassa, @Operatore, @Operazione, @Tipo, @Sigla, @Descrizione, @CodCli, @Cliente, @TipoOperazione, @TipoCliente, @SaldoDocumento, @netto, @lordo, @Entrate, @Uscite, @FPiazza, @Rt1, @Sc1, @Rt2, @Sc2, @Rt3, @Sc3, @Rt4, @Sc4, @Rt5, @Sc5, @Rt6, @Sc6, @Documenti, @stato, @cassa, @StatoPnota);SELECT @ID = LAST_INSERT_ID ();

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Ma nella tabella esiste un campo ID autoincrementato?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  6. #6
    rbarbato non è in linea Scolaretto
    Post
    198
    si .. esiste il campo ID
    comunque ho risolto cosi
    codice:
    DaMovPnota.InsertCommand.CommandText &= "; SELECT  last_insert_id () AS Id"
    poi per la lettura del ID faccio

    codice:
     MyId = tbMovPnota.Rows(0).Item("ID")

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi