Jag skall söka i en databas m h a ett sökord och resultatet skall redovisas i en listbox. Det fungerar bra när jag det exakta sökordet som finns i databasen ( t ex nisse). Det funkar inte när jag t ex skriver nis och väntas få upp alla ord som innehåller nis. Jag får i detta fall inte ens upp nisse! Jag har lagt in %-tecken i sql-strängen men det funkar inte. Varför?ASP.NET, selekterad sökning i Access-databas
Här är min kod:
Dim strSok As String
strSok=txtSok.text
If Len(Trim(strSok))>0 Then
etikMed.text=""
Dim strConn as string = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("\kunder.mdb") & ";"
Dim sql as string = "SELECT * FROM laddatned WHERE namn = '%" & strSok & "%'"
Dim conn as New OleDbConnection(strConn)
Dim objDR as OleDbDataReader
Dim Cmd as New OleDbCommand(sql, conn)
conn.Open()
objDR=Cmd.ExecuteReader(system.data.CommandBehavior.CloseConnection)
list1.datasource=objDR
list1.DataValueField="löpnr"
list1.datatextfield="namn"
list1.databind
list1.selectedindex=0
conn.Close
Else
etikMed.text="Du har inte angivit något sökord"
End IfSv: ASP.NET, selekterad sökning i Access-databas
Dim sql as string = string.Format("SELECT * FROM laddatned WHERE namn LIKE '%{0}%'", strSok)
Vissa äldre versioner av Access använder asterisken (*) istället för procenttecknet (%).