0

SQL Express Server を実行して、Web サービスを介してチャットをコーディングしています。Visual Studio 2010 で C# を使用しています。

一時テーブルを作成する必要がある sproc があります。Management Studio で手順を実行すると、一時テーブルが作成されます。しかし、LINQ to SQL でプロシージャを実行すると、プロシージャに入り、すべてが正しくなりますが、TempTable は作成されません。

ここにSQLコード:

    BEGIN
      SET NOCOUNT ON;
      DECLARE @SQL NVARCHAR(MAX)
      DECLARE @ResultCode INT --1 -> good; 0 -> Fail

      SELECT @ResultCode = 1

      SET @SQL = 'CREATE Table ##' + @i_Tablename + '(
                      ID INT IDENTITY(1,1) PRIMARY KEY,
          Username VARCHAR(25) NOT NULL,
          Message VARCHAR(MAX) NOT NULL,
          Font VARCHAR(100) NOT NULL,
          ForeColor INT NOT NULL,
          BGColor INT NOT NULL,
          Date DATETIME DEFAULT GETDATE())'
      EXECUTE sp_sqlexec @SQL

      INSERT INTO Chatlist VALUES(@i_Tablename)

      IF @@error <> 0
      BEGIN
        SELECT @ResultCode = 0
      END
      RETURN @ResultCode
    END

そして、これは私がC#でプロシージャを呼び出す方法です:

DB.sp_CreateTempTable(Chatname);

プロシージャは実行されていません。結果コードは問題なく、テーブル チャットリストに挿入されますが、TempTable は作成されません....

4

1 に答える 1