我正在通過運行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 ....
我在Management Studio中創建了TempTables,然後斷開連接並重新連接,TempTables仍然存在... –
@FürstdesWahnsinns:SSMS通常創建兩個到數據庫的連接。一個用於左側的treeview,另一個用於查詢本身。也許這就解釋了爲什麼表沒有被刪除? – spender
哦,我不知道。是的,這解釋了爲什麼表格沒有被刪除。 –