VB og SQL

Tags:    vb sql

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?



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
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
Fold kodeboks ind/udVBDotNet kode 


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:
Fold kodeboks ind/udVBDotNet kode 


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").

Fold kodeboks ind/udVBDotNet kode 


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
Søger stadig hjælp



han siger du skal addere til strengen..


textbox2.text = "SELECT Designer_ID FROM Kort WHERE Navn_ID = '"&textbox2.text&"'"

Men kan Navn_ID være en streng, er ID ikke oftes et tal ?

Vh



Indlæg senest redigeret d. 13.05.2011 11:58 af Bruger #5789
han siger du skal addere til strengen..


textbox2.text = "SELECT Designer_ID FROM Kort WHERE Navn_ID = '"&textbox2.text&"'"

Men kan Navn_ID være en streng, er ID ikke oftes et tal ?

Vh


Jo normalt, men hans besked er lidt forvirrende og jeg kunne godt forestille mig folk der brugte ID som "navn id" på noget.

Men selvfølgelig hvis det er et tal, så skal der ikke være ''.



t