webForumDet fria alternativet

Standardvärde

ASP

7 svar · 184 visningar · startad av LeonL

Medlem sedan dec. 20025 871 inlägg
Frågan#1

Jag använder denna SQL-sats:

objConn.Execute("INSERT INTO tblMintabell(namn,varv) VALUES('" & strNamn & "'," & intVarv & ")

Problemet är att om strNamn är tomt... då blir fältet tomt, men jag vill ju att ett tomt fält ersätt med standardvärder "Okänt" som jag har konfigurerat i databasen.
Hur ska jag göra? :S
Jag vill nämligen inte gå igenom åtta olika strängar och kolla om de är tomma. SQL-satsen ovan är bara ett exempel på mitt problem. :q

Medlem sedan juni 20019 519 inlägg
#2
if strNamn = "" then
StrNamn = "Okänt"
end if
if intVarv = "" then
intVarv  = "Okänt"
end if
objConn.Execute("INSERT INTO tblMintabell(namn,varv) VALUES('" & strNamn & "'," & intVarv & ")

något sånt?

Medlem sedan jan. 20032 285 inlägg
#3

Skapa en funktion?

Function FixaTom(str)
  If Len(CStr(str)) = 0 OR IsNull(str) Then
    FixaTom = "Okänt"
  Else
    FixaTom = str
  End If
End Function

objConn.Execute("INSERT INTO tblMintabell(namn,varv) VALUES('" & FixaTom(strNamn) & "'," & intVarv & ")
Medlem sedan dec. 20025 871 inlägg
#4

Jag vill återigen poängtera min sista mening:
Jag vill nämligen inte gå igenom åtta olika strängar och kolla om de är tomma. SQL-satsen ovan är bara ett exempel på mitt problem. ;)

Medlem sedan dec. 20025 871 inlägg
#5

Ah Sebbe du är så smart ;) Varför kom jag inte på att använda en funktion? :o

Medlem sedan maj 20031 472 inlägg
#6

För att databasen ska använda det defaulta värdet så måste du sätta fältet till NULL och inte '' som det blir om du inte har nått värde. Alltså måste du gå igenom strängarna och kolla om dom är tomma eller inte.

Det är var jag tror iaf.

Medlem sedan juni 200032 967 inlägg
#7

greyhound skrev:

För att databasen ska använda det defaulta värdet så måste du sätta fältet till NULL och inte '' som det blir om du inte har nått värde.

Nej. För att standardvärdet som är definierat i databasen skall läggas in, måste man utelämna fältet ur INSERT-satsen. Sätter man in ett nullvärde så är det just NULL som lagras.

Medlem sedan maj 20031 472 inlägg
#8

Låter bättre, jag har inte testat nått med defualtvärden måste jag säga så kanske var fel av mig att svara men endå... :)

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)