2013-10-23 141 views
0

我正在通過運行SQL Server的Web服務編寫聊天代碼。 我在Visual Studio 2010上使用C#。LINQ TO SQL,存儲過程不會創建臨時表

我有一個應該創建臨時表的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); 

正在執行的程序IST的resultCode爲是確定的,它使在插入表Chatlist,但無不是Temptable ....

回答

1
+0

我在Management Studio中創建了TempTables,然後斷開連接並重新連接,TempTables仍然存在... –

+0

@FürstdesWahnsinns:SSMS通常創建兩個到數據庫的連接。一個用於左側的treeview,另一個用於查詢本身。也許這就解釋了爲什麼表沒有被刪除? – spender

+0

哦,我不知道。是的,這解釋了爲什麼表格沒有被刪除。 –