Jag får fell när jag skall uppdatera denna SQL. Felet kommer bara när jag skall uppdatera en markering i en checkbox, som har tagits bort. Först och främst, två viktiga synpunkter: En checkbox retunerar 0 = Unchecked, 1 = Checked eller 2 = Grayed. Jag löste det genom i en variabel kolla om det fanns ett värde i checkboxarna, och gav då variablen 1 eller 0.Får fel vid uppdatering av checkboxar
Jag har för mig att det skall finnas ett kommando som heter vbnull eller någonting som kan fixa detta.
<code>
SQL = "Update t_Kunder
Set Kundkategori=
(SELECT KundKat_Id FROM t_KundKategori
WHERE KundKategori='" & Combo2.Text & "'),
Firma='" & Text1(0) & "',
Namn ='" & Text1(1) & "',
Box = '" & Text1(2) & "',
Adress = '" & Text1(3) & "',
PostOrt = '" & Text1(4) & "',
Tel = '" & Text1(5) & "',
Mobil = '" & Text1(6) & "',
Fax = '" & Text1(7) & "',
URL = '" & Text1(9) & "',
Epost = '" & Text1(10) & "',
EjLjud = " & Check1 & ",
Info = " & Check2 & ",
SkickCD = " & Check3 & ",
Anteck = '" & Text1(8) & "'
WHERE kundID = " & strListText & ""
</code>
Några förslag?Sv: Får fel vid uppdatering av checkboxar
1: Se upp för SQL Injection! Med din kod så är du vidöppen för angrepp. Läs min artikel här på Pellesoft (Unclosed Quotation Mark) om du inte vet jag pratar om.
2: För att lösa den här typen av problem, skriv alltid ut SQL-satsen du försöker köra så ser du säkert vad som är fel. Även om ändå inte ser felet så är det lättare för oss att se felet här, utan att behöva titta på ASP-kod.
Själva felet här tror jag är vad det blir för resultat av ex. Check1. Skriv ut strängen och se hur den ser ut.Sv: Får fel vid uppdatering av checkboxar
Sv: Får fel vid uppdatering av checkboxar
Tack för er hjälp.
TIll Christoffer Hedgate:
Du har ju alldeles rätt, har helt glömt bort det.
För att göra det enkelt för mig (och inte göra mina SQL så inveklade) så gjorde jag en liten funktion som ser ut så här:
<code>
Function Byta(sString) As String
Dim tString As String
tString = Trim(Replace(sString, "'", "''"))
Byta = tString
End Function
</code>
Sen är det ju bara att "hänga" på den t ex:
OBS utdrag ur en SQL
<code>
"Firma='" & Byta(Text1(0)) & "', " & _
"Namn ='" & Byta(Text1(1)) & "', " & _
</code>
Vad tycks? Den verkar fungera i alla fall.