2010-03-20 16 views
0

我想重命名列。語法應該是雙引號之間的列名櫃面的兩個詞,如:幫助在C#中的SQL查詢#

SELECT p_Name "Product Name" from items 

所以我試圖做到這一點在這樣的C#代碼:

string sqlqry1 = "SELECT p_Name \"Prodcut Name\" from items"; 

,但我得到的錯誤:

Syntax error (missing operator) in query expression 'p_Name "Prodcut Name"'. 

看來我有錯的財產以後用引號,但我想不通。

+3

哪個數據庫:MySQL? SQL Server 2005? 2008年? – Thomas 2010-03-20 15:44:31

+0

我很驚訝的人不知道它是什麼數據庫服務器 – 2010-03-20 15:47:39

+0

我使用MS Access,我應該提到,我的壞。 – DanSogaard 2010-03-20 15:59:44

回答

3

不指定您正在使用的數據庫。不同的DBMS對標識符使用不同的引用系統(如列名稱)。嘗試:

SELECT p_Name AS [Product Name] FROM items 

SELECT p_Name AS `Product Name` FROM items 

這是兩種常見的系統。此外,即使有些DBMS允許您將其忽略,也可以使用AS說明符。 (PS:在第二個示例中,引號字符是反引號,通常與US鍵盤上的代字號(〜)在同一個鍵上)。

+0

謝謝,這工作。 – DanSogaard 2010-03-20 15:48:53

+1

@DanSogaard:什麼工作? – gbn 2010-03-20 15:49:28

+0

總是樂於幫助。 – 2010-03-20 15:50:04

1

你缺少一個as

string sqlqry1 = "SELECT p_Name as \"Prodcut Name\" from items"; 
+2

垃圾。它是可選的。見http://msdn.microsoft.com/en-us/library/ms176104.aspx它說'... [[AS] column_alias] ...' – gbn 2010-03-20 15:46:21

+2

@gbn:你爲什麼引用微軟文檔時,OP不指定他正在使用的數據庫? – 2010-03-20 15:47:28

+0

@Larry Lustig:謹慎下注?每個DBMS是否也需要AS? – gbn 2010-03-20 15:48:54