0

C#SqlCommand - ExecuteScalarでは:

private object CompleteExecuteScalar(SqlDataReader ds, bool returnSqlValue)

では、SQL Server に行きましょう。

選択から値を返したい場合(これはに行きますExecuteScalar)、例えば:

if record already exists select `-1`
else select `0`

質問 :

C# でのキャストと tostring() の量を減らすために、SQL Server から返すのに推奨される (ベスト プラクティスによる) 型は何ですか?

if exists(select ....) select '-1'       -- string

また

if exists(select ....) select -1         -- int
4

1 に答える 1

1

あなたは数値を返しているので、intここでは意味が好ましいです。

さらに、C# コードでエラーを解析する場合は、次のようなことを行う必要があります。

enum Error { NO_ERROR = -1, ERROR 1 };

....

Error e = (Error)cmd.ExcecuteScalar();

これは、結果を int に解析したり、文字列値を比較したりするのとは対照的に、非常にクリーンで自己説明的なコードです。

于 2012-02-26T09:21:49.030 に答える