2014-02-12 114 views
1

我正在使用C#向數據庫中的表中添加擴展屬性。當我使用SQL編輯器時,此代碼可以工作,因爲每條語句都在一個新行中。但是,在C#中以字符串形式創建命令時,在同一個錯誤消息中,我會收到兩次「GO附近的語法錯誤」。我怎麼寫出來,讓c#執行它在單獨的行或正確的語法?SQL Server GO命令的語法問題

USE UserList; 
GO EXEC sys.sp_addextendedproperty 
@name = N'Description', 
@value=N'some text', 
@level0type=N'SCHEMA', @level0name=N'dbo', 
@level1type=N'TABLE', 
@level1name=N'table_name' 
GO 
+4

'GO'是SQL Management Studio中的提示,看到http://stackoverflow.com/questions/40814/how-do-i-execute-a-large-sql-script-with -go-commands-from-c和其他人 –

+0

此外,在字符串文字之前使用@可讓您在不添加特殊字符的情況下使用多行查詢。 – Tarec

+0

取出了GO,現在它完美地工作,謝謝你們。作出回答,我會接受它。 –

回答

1
USE UserList; 
GO   --<-- Go key word should be on it own in a line nothing before or after 

EXEC sys.sp_addextendedproperty 
@name = N'Description', 
@value=N'some text', 
@level0type=N'SCHEMA', @level0name=N'dbo', 
@level1type=N'TABLE', 
@level1name=N'table_name' 
GO 
+0

這表明你幾乎沒有閱讀我的問題或以下評論。 –