10

SQL Server 2005 Express のストアド プロシージャに tableadapter を追加しようとしています。ただし、ストアド プロシージャは #temp という一時テーブルを使用します。テーブル アダプターを作成するときに、Visual Studio は "不明なオブジェクト '#temp'" というエラーを表示し、ストアド プロシージャが 0 列を返すと言います。Crystalレポートでそのストアドプロシージャを使用し、それらの列が必要なため、これは問題です。

どうすればこれを修正できますか?

4

2 に答える 2

33

奇妙です。これによると、あなたは追加します

IF 1=0 BEGIN
    SET FMTONLY OFF
END

SP の AS 部分の直後に SP に移動すると、動作します。Visual Studio では問題ありません。なぜこれがこのように機能するのか、またはなぜ機能するのかはわかりませんが、機能します。

于 2009-05-28T17:53:44.380 に答える
1

これは古いスレッドであり、答えが見つかった可能性がありますが、後で誰かがストアド プロシージャにアクセスしてこのコードを見たとき、彼は本当に理解できません。これを適切に行う別の方法があり、次のようにテーブルを変数として宣言するだけです。

DECLARE @temp TABLE  
(
    SomeText1 nvarchar(255),
    SomeText2 nvarchar(255)
)

また、最後に DROP TABLE を削除することを忘れないでください。

PS :一時テーブルを作成する必要があるために本当に使用する必要がある場合は、前の回答で指定されたコードを記述する必要があります。お役に立てれば。

于 2014-10-15T15:39:38.447 に答える