Forespørgsel i VB.Net
HejJeg har et problem med en forespørgsel i en accessdatabase. Jeg har i VB.net udviklet i windowsform med en textbox og en kommandoknap fouden en datagrid til at vise data.
Jeg har uden problemer kunnet søge i databasen hvis hele indtastningsstrengen præcist sv.t. navnet i databasen MEN jeg ønsker i stedet at kunne nøjes med ex at indtaste de første bogstaver hvorefter de matchede skal listes - jeg har forsøgt at ændre de windows genererede koder:
Public i as string (øverst i formens modul)
i Public sub new() er anbragt
i = me.textbox1.text
Følgende kode er ændret således at LIKE er placeret i texten:
Me.OdbcSelectCommand1.CommandText = "SELECT MEDICIN.NAVN AS Handelsnavn, MEDICIN.GENERISK_NAVN AS [Generisk navn], MED" & _
"ICIN.TERAPEUTISK_GRUPPE AS [Terapeutisk gruppe], MEDICIN.VIRKNING AS Virkning, M" & _
"EDCYP.CYP_ID AS [CYP gruppe] FROM (MEDICIN INNER JOIN MEDCYP ON MEDICIN.GENERISK" & _
"_NAVN = MEDCYP.MEDICINNAVN) WHERE (MEDICIN.NAVN LIKE '" & i & "%'")"
Me.OdbcSelectCommand1.Connection = Me.OdbcConnection1
Me.OdbcSelectCommand1.Parameters.Add(New System.Data.Odbc.OdbcParameter("NAVN", System.Data.Odbc.OdbcType.NVarChar, 30, "Handelsnavn"))
Når jeg kører koden får jeg listet ALLE præparater uanset de indtastede bogstaver - og det var jo ikke meningen. Hvad gør jeg forkert?
vh Steen
