0
.Net
    if (ssn.contains("x))
    {
    cmd.parameters.addwithvalue(nothing just ignore);
    }

-

Stored Procedure Select
case when ssn is null then '' else case when ssn = '' then '' else 'xxxxx' + right(rtrim(ssn),4)

-

Stored Procedure Update
@currentuser varchar(30),
@ssn varchar(11) = NULL

AS
set [ssn] = [@ssn]
where [currentuser] = [@currentuser]

値を読み取ると、必要な xxx-xx-1234 が得られますが、その値がテキストボックスに存在するため、ユーザーが更新をクリックして xxx-xx-1234 をデータベースに保存する必要はありません。それを処理する最良の方法は何ですか?

4

1 に答える 1

0

あなたの場合のように、デフォルト値でストアドプロシージャを宣言する場合:

@ssn varchar(11) = NULL

必要がなければ、何も渡す必要はありません。ただしないでください

cmd.parameters.addwithvalue

そのため、実際には、ストアド プロシージャのパラメーターを追加するときに単純にスキップすると、パラメーターは「期待」されず、デフォルトで値NULLが割り当てられます。

しかし、単純に更新をしたくない場合は、そうしないでください。テキストボックスで特定の値を確認し、それが正しくない場合は、DB 更新の呼び出しをスキップします。

于 2013-09-04T02:42:18.633 に答える