2015-05-09, 13:40
  #1
Medlem
Håller på och kollar runt lite på Android/java och sqlite guider för att försöka lära mig lite. Men har stött på ett litet problem som jag tror jag har förstått men måste ändå dubbelkolla för att vara säker. Att med escape så kan man söka med/på tecken som egentligen är reserverade för andra funktioner i språket, eller hur? Tex är % ett wildcard i mysql och för att söka på just det tecknet måste man "escapa" det med någon funktion, stämmer va? Men sen så har jag koden nedanför som jag inte förstår riktigt. Eller jag tror att = används istället för LIKE i Android studio(Java också?) och vanligtsvis så är = ett tilldelningstecken men används som LIKE istället? Då används \ för att "escapa" att tilldela värden och istället som LIKE, men varför har man det på slutet igen för?

String query = "Select * FROM " + TABLE_PRODUCTS + " WHERE " + COLUMN_PRODUCTNAME + " = \"" + productname + "\"";

Är det samma sak som

Select * FROM table WHERE column LIKE productname;

i mysql?
Citera
2015-05-09, 13:57
  #2
Medlem
LIKE och = är två olika operatörer: http://stackoverflow.com/questions/5...equals-vs-like

Strängen blir följande ungefär:

Select * FROM <TABLE_PRODUCTS> WHERE <COLUMN_PRODUCTNAME> = "<productname>"
Citera
2015-05-09, 14:25
  #3
Medlem
Jaha, alright tack för den rättelsen. Hade visst blandat ihop det. Men hur kommer det sig att man använder sig av esacape i fallet ovan? Och på slutet igen? Det kanske iofs bara är så?
Citera
2015-05-10, 22:10
  #4
Medlem
Citat:
Ursprungligen postat av Colin.Cherry
Jaha, alright tack för den rättelsen. Hade visst blandat ihop det. Men hur kommer det sig att man använder sig av esacape i fallet ovan? Och på slutet igen? Det kanske iofs bara är så?
Du gör escape på ", vilka du måste sätta runt strängvärdet av productname i SQL-frågan.
Säg att productname i din kod innehåller värdet "chair". Utan escape hade din SQL blivit:
Kod:
Select * FROM TABLE_PRODUCTS WHERE COLUMN_PRODUCTNAME  = chair;
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in