3

違いは何ですか?

 DBCmd.Parameters.Add("user_name", IfxType.VarChar);
 DBCmd.Parameters["user_name"].Value = p_u; 

DBCmd.Parameters.Add("user_name", p_u);

ここでのベストプラクティスは何ですか。どちらが安全で、一方が他方よりも優れたパフォーマンスを発揮しますか?

4

2 に答える 2

5

示されている例では、主な違いは、使用する型が明示的に認識されていることです。IfxType.VarCharこれは、正確な状況と、IFX が文字列を、、または のいずれにデフォルト設定するによって、重要になる場合があります。正直なところ、デフォルトでどれが選択されるかわかりません。CharVarCharLongVarChar

通常は明示的に指定することをお勧めしますが、新しいパラメーターは から返されるため、インデクサーを介して再取得する必要はありませんAdd。私はおそらくお勧めします:

DBCmd.Parameters.Add("user_name", IfxType.VarChar).Value = p_u;

または多分:

DBCmd.Parameters.Add("user_name", IfxType.VarChar, 20).Value = p_u;

はパラメータ20サイズです。

于 2012-08-15T09:43:23.183 に答える
1

マークの答えにもかかわらずParameters.Add、値を追加することは非推奨です-それはに置き換えられましたAddWithValue

于 2012-08-15T09:49:55.327 に答える