webForumDet fria alternativet

Integervärde får inte saknas

Databaser & SQL

6 svar · 224 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Frågan#1

Jag har en saftig SQL-uppdatering som innefattar ett gäng Integer-värden. Problemet är att en del av dessa inte är obligatoriska, vilket ger upphov till fel i SQL-satsen om det blir en tom request.form(..).

Psuedokod:

SQL = "UPDATE tblTjo SET strKol = '" & strVal & "', intKol = " & intVal & ""

Om nu intVal inte innehåller något värde ser SQL-satsen ut såhär:

"UPDATE tblTjo SET strKol = 'String-värdet', intKol ="

Eftersom Integervärdet uteblir kommer ett nasty felmeddelande.

Hur löser man detta smidigast? Måste man gå in på kod-nivå och lösa det med separata if-satser för alla talen/värdena? :l

Det är ungefär 40 fält, så koden blir aningen rörig..

Medlem sedan juni 200032 967 inlägg
#2

När du skapar variablerna får du lägga in en null-sträng om strängen är tom.

Medlem sedan feb. 200112 078 inlägg
#3

Måste man gå in på kod-nivå och lösa det med separata if-satser för alla talen/värdena?

Det betyder alltså ett ja på denna fråga? ;)

Medlem sedan juni 200032 967 inlägg
#4

Det stämmer. Men du kan ju pilla till en enkel funktion i asp-koden.

Function FixIt(strFieldName)
    If Trim(Request.Form(strFieldName)) = "" Then strFieldValue = "NULL" else strFieldValue = Request.Form(strFieldName)
    FixIt = strFieldValue
End function

Sen kallar du bara på den funktionen istället för request.form när du skapar dina variabler.

Mvh,

Medlem sedan feb. 200112 078 inlägg
#5

OT: Det är # som gäller runt värden i datumform i SQL Server också? Har för mig det är så i bara Access..

Medlem sedan dec. 200012 464 inlägg
#6

Det är # som gäller runt värden i datumform i SQL Server också?

Nej, det är '

Medlem sedan feb. 200112 078 inlägg
#7

Oj. :o

657 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
528 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)