webForumDet fria alternativet

NULL värden och sp-parametrar

.NET

2 svar · 267 visningar · startad av Kromp

Medlem sedan okt. 2002103 inlägg
Frågan#1

tja...

när ett webformfält är tomt vill jag sätta in ett null värde i motsvarande parameter... är detta det bästa sättet?

If txtCONTACT_TELEPHONE.Text = "" Then
      colParams.Add(objDBCore.CreateParam("@P_CONTACT_TELEPHONE", DBNull.Value, 
SqlDbType.NVarChar, 50))
Else
     colParams.Add(objDBCore.CreateParam("@P_CONTACT_TELEPHONE", txtCONTACT_TELEPHONE.Text, 
SqlDbType.NVarChar, 50))
End If

jag har även lite problem med ntext fält, anger jag default storleken 16 så kapar den parameter värdet efter 16, i sql server betyder 16 dock nåt mycket större på ntext-typen... jag har för tillfället anget 16000 i stället, då funkar det... men ntext 16 i sql server är väl större än så? vill ange motsvarande värde när jag skapar en sp-parameter i min vb.net kod...

Medlem sedan dec. 19995 874 inlägg
#2

Kan du inte göra så att du inte lägger till parametern?

If txtCONTACT_TELEPHONE.Text <> "" Then
     colParams.Add(objDBCore.CreateParam("@P_CONTACT_TELEPHONE", txtCONTACT_TELEPHONE.Text, 
SqlDbType.NVarChar, 50))
End If

Sedan i din SP har du ett defaultvärde.

Medlem sedan okt. 2002103 inlägg
#3

Jo... :)

@P_CONTACT_TELEPHONE nvarchar(50) = null
257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)