Kære udviklere.
Jeg er ny indenfor VB, og kan derfor godt bruge lidt hjælp.
Håber du vil bruge lidt tid på at hjælpe mig med mine problemer.
Jeg har lavet en database, som fint virker i mit VB. Jeg kan rette, tilføje og slette i den, fordi jeg har den smasket ind på en form, som jeg retter fra.
Men nu vil jeg have at jeg kan søge efter kort i min database.
Alle kort har et Kort_ID, Navn_ID, Designer_ID
Har 2 textbokse og 1 knap.
textbox1 = Det som jeg søger efter
Et eksempel kan være at jeg søger efter kortet "Super-Mand"
textbox2 = Skal vise Designeren på kortet, "Super-Mand"
Dette skal ske når jeg klikker på knappen button1
Dobbeltklikker nu på knappen, og skriver
"textbox2.text = SELECT Designer_ID FROM Kort WHERE Navn_ID = textbox2.text"
Dette virker ikke - nogle der kan hjælpe en nybegynder?
Nu ved jeg ikke om du bare har formuleret dit spørgsmål dårligt men du kan ikke bare skrive
- textbox2.text = SELECT Designer_ID FROM Kort WHERE Navn_ID = textbox2.text
Du er nødt til at fortælle programmet at det er en SQL query du vil køre mod din database.
Kan du evt sige hvordan du er forbundet til fornævnte database?
Normalt ville jeg bruge noget alla:
- Dim MyCommand As New SqlCommand("SELECT Designer_ID FROM Kort WHERE Navn_ID = '@navn'", MyConnection)
-
- MyCommand.Parameters.Add("@navn", DinDataType, DinDataLængde)
- MyCommand.Parameters("@navn") = TextBox2.Text
-
- Dim MyReader As SqlDataReader = MyCommand.ExecuteReader()
Og så få resultatet ud fra MyReader. ExecuteScalar menes jeg også kan bruges her, men den er jeg ikke så erfaren med.
En normal tilgang uden brugen af parametre (betegnes usikker uden korrekt validering, og selv der er det ikke "best practice").
- Dim MyCommand As New SqlCommand("SELECT Designer_ID FROM Kort WHERE Navn_ID = '" & TextBox2.Text & "'", MyConnection)
Bemærk at i begge eksempler står værdien af TextBox2 inde i '' ... Ellers vil SQL'en bare give dig en fejl (Det er måske det som går galt for dig?) da den ikke vil fortolke inputtet som en string.
Post endelig noget mere af din sourcekode hvis du besvarer mit indlæg.
Indlæg senest redigeret d. 12.05.2011 22:19 af Bruger #14381