login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ASP.NET] insertid (Opgelost)

Offline Wijnand - 19/06/2007 14:34
Avatar van WijnandModerator Hallo,

ik wil graag weten of er zoiets bestaat als insertid() bij ASP.NET.

Dus dat je net een insert hebt gedaan, en dat je erachteraan gelijk de insertid mee kunt krijgen?

4 antwoorden

Gesponsorde links
Offline marten - 19/06/2007 14:38 (laatste wijziging 19/06/2007 14:39)
Avatar van marten Beheerder Misschien kan je hier iets mee
http://www.123aspx.com/redir.aspx?res=35388
http://forums.asp.net/p/1113832/1725100.aspx
Offline Wijnand - 19/06/2007 15:12
Avatar van Wijnand Moderator Nee ik gebruik geen gridview oid maar dit:

  1. verbinding = New SqlConnection(ConfigurationManager.AppSettings("connectie"))
  2. verbinding.Open()
  3. query = "INSERT INTO [table] ([title]) VALUES ('" & Request.Form("title") & "')"
  4. uitvoeren = New SqlCommand(query, verbinding)
  5. rs = uitvoeren.ExecuteReader()
  6. rs.Close()
  7. rs = Nothing
  8. verbinding.Close()
  9. verbinding = Nothing


dit werkt (dimmetjes heb ik er even uitgelaten)...

en nu wil ik de id erbij weten van degene die hij geinsert heeft (in VB).
Offline Abbas - 19/06/2007 19:52
Avatar van Abbas Gouden medaille

Crew .NET
Wijnand, ik had dit topic niet gezien Ik heb er even naar gekeken en heb wel een oplossing:

De volgende code gebeurt wanneer je op de knop klikt om een gegeven in te voegen. Bij mij wordt er een voor - en achternaam ingegeven en die wordt in de database geplaatst, daarna wordt het ID teruggeven...

  1. Dim query, vn, an, id_db As String
  2. Dim verbinding As SqlConnection
  3. Dim commando As SqlCommand
  4.  
  5. Protected Sub invoegen(ByVal Src As Object, ByVal e As System.EventArgs)
  6.  
  7. verbinding = New SqlConnection("Data Source=.\SQLEXPRESS; AttachDbFileName=H:\C#\Scope Identity\App_Data\Database.mdf; Integrated Security=True; User Instance=True")
  8. vn = Server.HtmlEncode(vnaam_invoer.Text)
  9. an = Server.HtmlEncode(anaam_invoer.Text)
  10.  
  11. query = "INSERT INTO leden(voornaam, achternaam) VALUES ('" & vn & "', '" & an & "') SELECT @@IDENTITY"
  12. commando = New SqlCommand(query, verbinding)
  13.  
  14. Try
  15. verbinding.Open()
  16. id_db = commando.ExecuteScalar()
  17. Catch ex As Exception
  18. Response.Write(ex.Message)
  19. Finally
  20. verbinding.Close()
  21. Response.Write(id_db)
  22. End Try
  23.  
  24. End Sub


Het gaat hem dus om 2 zaken die hiervoor nodig zijn:
- Na je 'insert' stuk in je query zet je 'SELECT @@IDENTITY'
- Je gebruikt niet 'ExecuteNonQuery' maar 'ExecuteScalar'

Hopelijk is het de goede oplossing, bij mij werkt het in ieder geval! 
Offline Wijnand - 20/06/2007 09:22
Avatar van Wijnand Moderator ok, dat is al beter ja ;)

thanks.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s