-2

T-SQL/Sql サーバー マネージャーと C# の出力パラメーターの処理はどうなっていますか?? アセンブリなどで使用する場合、2 つはどのように組み合わされますか?

人々がT-SQLストアドプロシージャの出力パラメータを入れていることがわかります...

これはどういう意味ですか?とてもシンプルに見えますが、彼らはそれを退屈で複雑にしました。

いいえ:

select パラメータと output パラメータを使用してストアド プロシージャを作成しました。

大したことは何ですか?とにかく実行して結果を確認します。

アセンブリや C# コードからの呼び出しはどうなりますか? 私はそれを実行し、出力パラメーターを必要とせずに、すべてのコンテンツをデータテーブルまたはストリームリーダー内に保存することができます....

良い説明はありますか??

C#でも同じ

変更されたパラメーターは何をしますか?

IE: この FindCity(string zipcode, out string cityname) のような関数

私が理解したことから、都市名を宣言しなくても ass できるというだけで、文字列として出力されます(少なくとも私は思います)

なに???何故ですか?誰でも私を啓発できますか?

ありがとう

4

2 に答える 2

2

確かに、SQL では "select" を使用して値をセルとして返すことができますが、これは必ずしも便利ではありません。特に、(たとえば) 他の tsql から呼び出されるストアド プロシージャの場合、SQL から so を呼び出すときに結果セットを処理するのは非常にトリッキーです。対比:

exec someInsertProc 123, 'ABC', out @id

これと同じパターンは、便利で明示的なものにするため、および API を形式化するために、非 proc SQL にも役立ちます。


C# では、戻り値は 1 つしか得られません。「select」に匹敵するものはありません。これで、複数の値のプロパティを持つ複雑なオブジェクトを返すことができますが、「out」を使用する方が便利な場合があります。次に例を示します。

int i;
if(int.TryParse(s, out i)) {

. 合計 += i; }

「out」と「ref」は比較的一般的ではないことに注意してください。また、誤解されることがよくあります。しかし、場合によっては非常に便利です。

于 2013-08-17T15:57:35.383 に答える
0

SQL: 呼び出し元に結果を出力する追加の手段として使用されます。レコードのリストと、集計または関連する単一データムを表示したいとします。結果セットに列を作成する代わりに、出力変数に書き込むことができます。

C#: out パラメーターは、関数呼び出しが終了する前に設定されることが保証されています (それ以外の場合、コードはコンパイルされません)。また、呼び出し元に複数のオブジェクトを返す手段でもあります。を見てみましょうint.TryParse

于 2013-08-17T15:44:32.093 に答える