Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Uppdatera en SELECT fråga

Postades av 2004-12-21 10:13:05 - Rikard Nilsson, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 385 personer

När jag kodade i ASP så kunde jag i samma funktion välja data och sen uppdatera den samma. T.ex. först läsa av ett värde och sen uppdatera

strSQL = "SELECT * FROM News"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn, adOpenStatic, adLockOptimistic

objRS("Writer")		= Session("UserID")
objRS("Related")	= Request.Form("NewsIDRelated")
objRS("SeasonID")	= Request.Form("SeasonID")
objRS.Update


Kan jag göra något liknande i ASP.NET?
Lite hjälp på traven i form av ledtrådar!


Svara

Sv: Uppdatera en SELECT fråga

Postades av 2004-12-21 10:33:51 - Jonas Österlöf

Det gör du med hjälp av ett dataset och en dataadapter. Det som kan va lite lurigt för nån från klassisk asp är att update-metoden hör till dataadaptern, inte datasetet.

Kolla här för ingående info:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatacommondataadapterclassupdatetopic.asp

mvh
/Jonas


Svara

Sv:Uppdatera en SELECT fråga

Postades av 2004-12-21 14:42:59 - Rikard Nilsson

Hej!

Jag har jobbat på med min dataset men får inget resultat.
Följande kodsnutt ska uppdatera Art med ID med nytt saldo för Quantity. Inget händer. Inte ens felmeddelande så jag kanske är svaret väldigt nära.

' Öppna koppling till db
cn.Open()

' Skapa selectCommand
Dim adapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter
adapter.SelectCommand = New OleDbCommand("SELECT [Art].[Quantity] FROM [Art] WHERE [Art].[ID] = @ID", cn)
' Denna radern vet jag inte vad den gör
Dim custCB As OleDbCommandBuilder = New OleDbCommandBuilder(adapter)

' Skapa parametrar för ID
Dim parameterID As OleDbParameter = New OleDbParameter("@ID", OleDbType.Integer)
parameterID.Value = intID
adapter.SelectCommand.Parameters.Add(parameterID)

' Fyll dataset
Dim dataset As DataSet = New DataSet
adapter.Fill(dataset)

' Skapa updateCommand
adapter.UpdateCommand = New OleDbCommand("UPDATE [Art] SET [Quantity] = @Quantity WHERE [Art].[ID] = @ID")
adapter.UpdateCommand.Connection = cn

' Skapa paramteter för Quantity
Dim parameterQuantity As OleDbParameter = New OleDbParameter("@Quantity", OleDbType.Integer)
parameterQuantity.Value = 5
adapter.SelectCommand.Parameters.Add(parameterQuantity)

' Uppdatera dataset
adapter.Update(dataset)

' Stäng koppling till db
cn.Close()


Svara

Sv: Uppdatera en SELECT fråga

Postades av 2004-12-21 16:26:22 - Jonas Österlöf

Det du uppdaterar med dataadapter.update(dataset) är INTE datasetet utan databasen! Du ska alltså införa dina ändringar i datasetet och sen låta update-metoden införa ändringarna i databasen.

Det är viktigt att förstå att update-metoden inte nödvändigtvis utför en SQL-update. Ett dataset "minns" sitt ursprungliga tillstånd och det som händer när du kör dataadapter.update(dataset) är att metoden kollar igenom datasetet efter ändringhar och sedan inför dessa i databasen, så att den s.a.s. blir synkad med datasetet. Om detta kräver en SQL-delete snarare än en SQL-update så kommer alltså en SQL-delete att genomföras istället för en SQL-update.

Om du instanserar en commandbuilder med dataadaptern ifråga som argument så kommer den att automatiskt generera insert/update/delete-kommandon som svarar mot selecten du angett som adapterns selectcommand. När du sen kör dataadapter.update(dataset) så väljs automatiskt relevant autogenererat command, dvs update eller insert eller delete.

Du behöver alltså inte skapa ett eget update-command om du använder commandbuildern. Om du använder både/och kommer commandbuildern att generera de (eventuellt) saknade kommandona.

Läs särskilt det som står under Remarks i länken jag hänvisade till.

mvh
/Jonas


Svara

Sv:Uppdatera en SELECT fråga

Postades av 2005-01-07 12:37:44 - Rikard Nilsson

Nu har jag löst det!

Tack för din vägledning!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 606
27 953
271 705
472
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies