5

ストアド プロシージャがあり、文字列値を返します。この SP usingExecuteNonQueryステートメントを実行する必要があります。これを実行すると、戻り値として -1 が返されます。

私は決して使用しませんでしSET NOCOUNT ONた。戻り値を取得するにはどうすればよいですか? OUTPUT戻り値を--justと宣言しませんでしたSELECT @VARIABLENAME。を使用して値を取得するにはどうすればよいExecuteNonQueryですか?

4

2 に答える 2

8

ExecuteNonQuery影響を受ける行の数のみを返すクエリを実行するために使用されます (ただし、出力パラメーターを入力することはできます)。-1影響を受けた行がないか、nocount をオンに設定したことを意味します。

sproc からデータを読み取る必要がある場合は、別の API 呼び出しを使用してください。

于 2012-07-16T08:27:15.987 に答える
1

値を 1 つだけ取得する場合、.Net 言語を使用している場合は ExecuteScalar コマンドを使用します。Javaなどに相当するものがあることは知っています。

http://msdn.microsoft.com/en-us/ibrary/system.data.sqlclient.sqlcommand.executescalar.aspx

SPに出力パラメーターがある場合、ExecuteNonQueryは戻りデータを取得できます。この記事では、その方法について説明します。

http://msdn.microsoft.com/en-us/library/80x06z3b(v=VS.71).aspx

ただし、文字列を返すだけの場合は、ExecuteScalar を使用する方が簡単です。

于 2012-07-16T15:02:36.697 に答える