webForumDet fria alternativet

Fältet får inte vara tomt - men måste vara det!

ASP

1 svar · 223 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1
    Dim strPresentation
    strPresentation = Request.Form("F_Presentation")
    If Len(strPresentation) = 0 Then
      strPresentation = " "
    End If
    'Skapa en post i tabellen Texter om kunden inte redan har en rad - annars, uppdatera befintlig.
    If Not RSAdmTexter.EOF Then
      Connect.Execute("Update Texter Set Presentation = '" & Uppdatera(strPresentation) & "' Where AnvId= '" & AnvId & "';"),, 128
    Else
      Connect.Execute("Insert Into Texter(AnvId, Presentation) Values('" & AnvId & "', '" & Uppdatera(strPresentation) & "');"),, 128
    End If

Jag kan svära på att jag tidigare ikväll lyckades att lägga in ett mellanslag i kolumnen om fältet var tomt (genom strPresentation = " "). Jag provar att skriva ut variabeln och den visar mycket riktigt på ett mellanrum. Det funkar också problemfritt att uppdatera om variabeln innehåller text. Och jag vet ju att jag kunde uppdatera tabellkolumnen med ett mellanslag innan jag slängde dit Else - Connect.Execute("Insert Into...-alternativet och vad mer det nu är jag gjort. Nu funkar hur som helst ingen av Connect.Execute-satserna.

Hittar ni något fel? Och visst har jag inte bara inbillat mig att det går alldeles utmärkt att lägga till ett mellanslag utan att det räknas som ett tomt värde. Hur kan jag annars göra, leka med null?

Medlem sedan feb. 2004333 inlägg
#2

Löste det så här, men det måste finnas en enklare variant:

    Dim strPresentation
    strPresentation = Request.Form("F_Presentation")
    If Not Len(strPresentation) = 0 Then
      If Not RSAdmTexter.EOF Then
        Connect.Execute("Update Texter Set Presentation = '" & Uppdatera(strPresentation) & "' Where AnvId= '" & AnvId & "';"),, 128
      Else
        Connect.Execute("Insert Into Texter(AnvId, Presentation) Values('" & AnvId & "', '" & Uppdatera(strPresentation) & "');"),, 128
      End If
    Else
      If Not RSAdmTexter.EOF Then
        Connect.Execute("Update Texter Set Presentation = Null Where AnvId= '" & AnvId & "';"),, 128
      Else
        Connect.Execute("Insert Into Texter(AnvId, Presentation) Values('" & AnvId & "', Null);"),, 128
      End If
    End If

Det vart ju iofs mycket bättre med Null än mellanslag för det senare fanns där och irriterade i formuläret när man skulle uppdatera texten.

778 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
648 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)