Tabellen Person i databasen består av ett Id samt de fyra egenskaperna som radades upp ovan.
Nu ska alltså en person kunna hittas och mitt problem är att få till korrekta SQL-frågor. Om användaren struntar i att fylla i ngt av fälten ska dessa inte inkluderas i SQL-frågan så att SQL-frågan blir olika beroende på vad användaren fyller i.
Ett sätt att göra det är förstås med massor av If-satser men det undviker jag gärna då det blir alltför jobbig kod.
Kan ni kanske ge mig några exempel på hur just du gjort det eller kan ni bara ge mig lite tips?
F_Name=request.querystring("F_Name")
L_Name=request.querystring("L_Name")
D_Id=request.querystring("D_Id")
C_Id=request.querystring("C_Id")
SQL="SELECT * FROM Person"
if F_Name<>"" then sql2 = sql2 & " F_Name like '%" & F_Name & "%' AND"
if L_Name<>"" then sql2 = sql2 & " L_Name like'%" & L_Name & "%' AND"
if D_Id<>"*" then sql2 = sql2 & " D_Id =" & D_Id & " AND"
if C_Id<>"*" then sql2 = sql2 & " C_Id =" & C_Id & " AND"
if sql2<>"" then
SQL= SQL& " WHERE"
else
'Denna else-sats behövs eftersom SQL-strängen kapas längre ner. Om de fyra X:en inte skulle vara där blir frågan kaputt.
SQL= SQL& "XXXX"
end if
SQL=SQL & sql2
SQL = left(SQL, len(SQL) - 4)
Du har en poäng där och här kommer därför en lösning. Kanske inte den bästa eller effektivaste men den fungerar iaf :)
Fast det gick, jag ändrade faktiskt, skrev dit WHERE i första sql-en och sen oavsett vad som händer köra: SQL = left(SQL, len(SQL) - 5) istället för -4.
Jaja, spelar egentligen inte så stor roll hur man gör det.
267 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2