1

textbox の 1 つに何も入力しないと、ASP.NET は空のテキスト ボックスを認識して null として扱うことができません。空のテキスト ボックスを検出して null に設定する方法を教えてください。

私はこのコードがうまくいくことを知っています

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

MUSIC_TITLE.Text = Nothing

End If

しかし、私は自分のアプリケーションに多くのフォームがあるため使用できません。そのため、これを処理できる ASP.NET に何かまたは関数が存在する必要があります。

それは、SQLサーバーのリクエストに挿入するためのものです

"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

4

2 に答える 2

1

これは、テキストボックスの値をデータベースに直接保存しようとしているようです。

これをしないでください。まだ行っていない場合は、SQLインジェクションのリスクの高いセキュリティの脅威について学び、INSERTSとUPDATESをパラメータ化してください。

パラメータを設定する前に、必要に応じて空の文字列をに変換できますNothing

Dim musicTitle as String = _
    If(String.IsNullOrWhiteSpace(MUSIC_TITLE.Text), Nothing, MUSIC_TITLE.Text)
于 2012-09-14T13:58:01.747 に答える
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;
}
于 2012-09-14T13:58:26.473 に答える