Hur skriver jag WHERE när jag vill jämföra med värdet i en variabel. Tycker jag har försökt med alla varianter utan att det funkar. När jag hårdkodar in värdet går det bra. Gör som nedan så fungerar det. Du behöver inte göra en SQL variabel, men för enkelhetens skull visar jag det så. Sedan måste man tänka på vilken typ det är i databasfältet som du gör Tack så mycket för era svar men jag får det ändå inte att funka. Hur får du resultatet från din sql-sats till listboxen? Genom datasource, valuemember och displaymember? De kommer dit via en sub och DataBind. Det som till slut funkade var en variabel (numerisk) som las in så härNybörjarfråga, WHERE = variabelvärde
SELECT * FROM Statistik WHERE MedlID = ?
Att värdet finns i variabeln har jag kollat gm att visa den i en Label. Den deklareras Dim Varde as Integer. Det är tröttsamt med alla dessa felmeddelanden.Sv: Nybörjarfråga, WHERE = variabelvärde
<code>
Dim Varde As Integer = 15
Dim SQL As String = "SELECT * FROM Statistik WHERE MedlID = " + Varde.ToString
</code>Sv:Nybörjarfråga, WHERE = variabelvärde
<code>WHERE</code> mot. Är det av typen heltal kan du göra som Thomas
skrev, men är det istället ett textfält måste du ha med "enkelfnuttar", ' enligt nedan:
<code>SELECT * FROM STATISTIK WHERE MEDLID = '" + Varde.ToString + "'"</code>Sv: Nybörjarfråga, WHERE = variabelvärde
Jag fångar värdet jag är ute efter genom att markera ett namn i en listbox och köra sub:en
Sub setLabel(ByVal s As Object, ByVal e As EventArgs)
varde = lbNamn.SelectedValue.ToString (jag har provat både med och utan ToString)
End Sub
Sen vill jag använda det i SELECT-satsen till en GridWiev och har prövat en massa varianter.
Om jag kopierar in Thomas förslag klagar Visual Studio att "Cannot Switch Views: Validation (ASP.Net): If this attribute is enclosed in quotation marks, the quotation marks must match
Med Thomas förslag blir det "Attribute varde is not a valid attribute on element AccessDataSource"
Jag gör kanske något helt galet för att få det här att fungera men jag får ursäkta mig med att jag är en ren nybörjare på detta.Sv:Nybörjarfråga, WHERE = variabelvärde
Om inte, använd "lbNamn.SelectedItem" istället.Sv: Nybörjarfråga, WHERE = variabelvärde
Hela arbetsgången är så här. Först visas en dropdownlist med våra lag. Man väljer ett lag och då körs en sub och lagets spelare visas i listboxen. Eftersom namnen lagras i fälten "Fornamn" och "Efternamn" skapar jag "Namn" genom Medlemmar.Fornamn+' '+Medlemmar.Efternamn AS Namn i sql-satsen. Alltså kan jag inte använda SelectedItem. När man sen väljer en spelare i listboxen vill jag visa hans/hennes uppgifter i en GridView. Listboxen har därför DataValueField="MedlemsID" och jag skulle ha WHERE MedlemsID = ' & lbNamn.SelectedValue & ' i DataSource till GridView:n men det går inte. Oavsett hur jag skriver (med och utan fnuttar, lagt till ToString osv) får jag bara "Typblandningsfel i villkorsuttryck". När jag laddar in värden i Listboxen använder jag samma metod men då med = '" & ddlLag.SelectedValue & "'", dvs ta SelectedValue från dropdownlistan vilket är detsamma som lagnamnet och då funkar det. Visar jag värdet i lbnamn.SelectedValue i en Label ser jag att det är rätt MedlemsID.
Alla förslag mottages tacksamt.Sv:Nybörjarfråga, WHERE = variabelvärde
WHERE MedlID = " & MedID & ";
Det där semikolonet gjorde underverk.