使用ASP.NET将空字符串(从文本框)转换为null

时间:2012-09-14 13:50:34

标签: asp.net ado.net textbox webforms string

如果我不在其中一个文本框中输入任何内容,那么ASP.NET无法告诉空文本框并将其视为空...所以任何人都可以帮助我如何检测空文本框和将其设置为null

我知道这段代码是ganna工作得很好

If MUSIC_TITLE.Text.Trim() = "" Then

MUSIC_TITLE.Text = Nothing

End If

但我不能使用我的应用程序中有很多表单,所以我需要一些东西或ASP.NET中可以存在的任何函数

并且在sql server的requet中插入

"insert into Reunion values(" & Convert.ToInt32(ID_Reunion.Text) & ",'" & d.ToString("MM/dd/yyyy") & "'," & Convert.ToInt32(ID_Membre.Text) & ",'" & Type_Reunion.Text & "','" & Session("Nom_GIAC") & "')"

和tnks

2 个答案:

答案 0 :(得分:1)

这听起来好像是在尝试将文本框值直接存储在数据库中。

不要这样做。如果您还没有,请了解 SQL Injection 的高风险安全威胁,并对您的INSERTS和UPDATES进行参数化。

在设置参数之前,如果需要,您可以将空字符串转换为Nothing

Dim musicTitle as String = _
    If(String.IsNullOrWhiteSpace(MUSIC_TITLE.Text), Nothing, MUSIC_TITLE.Text)

答案 1 :(得分:0)

在你的插入中sp应该是:

create procedure Insert(@test varchar(50)=NULL)
as
    begin
        update foo set testCol=@test
    end

在c#中,在调用sp并添加参数时使用下面的代码:

if(txt.Text!=String.Empty)
{
    cmd.Parameters.Add("@test",SqlDBType.Varchar,20).Value=txt.Text;
}
相关问题