Hej, Hej, Jag får då ett felmeddelandet "BC30205: End of statement expected" när jag använder följande sräng: Lösningen känns lite obehaglig. Kan du inte hämta upp värdet från den andra listboxen via en postback som du sen använder i sql? Ja det kanske är lite smått obehagligt ändå. Hur menar du att jag skall göra istället? Skall det inte vara: Ok, nu får jag felmeddelandet: BC30203: Identifier expected Vad för datatyp är ditt ProduktId? Är det text skall det vara: Annars bör detta fungera: Jag löste det med att lägga till Sessionen som en parameter istället. Hans! Jag missade ditt inlägg innan jag skrev mitt. Gjorde som du skrev, fungerar kanon.Session mellan två listboxar
Jag tänkte använda två listboxar som hämtar data från en access-databas.
Den första hämtar produkter och skapar en session med Id:et som jag sedan vill att den andra droplisten skall anamma för att sedan gå vidare.
Jag har löst den första listboxen med session men sedan vet jag inte hur jag skall gå vidare.
Kan man lägga till en session i SQL-strängen till den andra listboxen, dvs;
Select produkt, produktid From produkter where produktid=session
Eller hur skall jag göra?
Obs! Jag anväder VB
Någon som fattar vad jag menar?
Tack på förhand!Sv: Session mellan två listboxar
I OnChange på listbox ett så sparar du valt ID i Sesson["produktid"]
Sedan fyller du listbox2 med
SELECT produkt, produktid from produkter where produktid = Session["produktid"]
För att vara säker på att slippa sql-injections bör du använda sql-parametrar iställetSv:Session mellan två listboxar
Const strSQL as String = "SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId = Session["produktid"]"
Hur skall jag formulera strängen?Sv: Session mellan två listboxar
Sv:Session mellan två listboxar
Är det så här du menar?
Ex:
"SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId = '" & Produktval.SelectedItem.Value & "'"
När jag kör detta får jag felmeddelandet: BC30059: Constant expression is requiredSv: Session mellan två listboxar
strSQL as String = "SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId =" & Session["produktid"] Sv: Session mellan två listboxar
Jag är nybörjare, men det behöver förmodligen inte sägas...Sv:Session mellan två listboxar
SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId ='" & Session["produktid"] & "'"
är det tal tex en räknare skall det vara:
SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId =" & Session["produktid"] Sv: Session mellan två listboxar
"SELECT ProdVariantNamn, ProdVariantId, ProduktId FROM qVariantval WHERE ProduktId=@Poduktvalid"
Längre ner anger du @Poduktvalid i en parameter, vilket är bra även ur säkerhetssynpunkt:
cmd.Parameters.Add("@Poduktvalid", Produktval.SelectedItem.Value)
cmd här är SqlCommand.Sv: Session mellan två listboxar
Tack för hjälpen!
Nu kommer min andra fråga;
Hur skriver jag över den gamla sessionen när jag väljer en ny post i den första listboxen?
Så här ser min SelectedIndexChanged ut för den första listboxen
Sub Produktval_SelectedIndexChanged(sender As Object, e As System.EventArgs)
' Perform this operation in a try-catch block in case the item is not found.
Try
Session("Produktval") = Produktval.SelectedItem.Value
lblProduktval.Text = "Du valde " & Session("Produktval") + "."
Catch ex As Exception
Session("Produktval") = ""
lblProduktval.Text = "Ingen produkt vald"
End Try
End SubSv:Session mellan två listboxar
Tack för hjälpen!