我一共有三個sql命令在一個連接上運行。當查詢運行時,除了一件小事外,一切都可以正常工作。最後一條命令的UNION SELECT不會在最後一條語句的末尾附加'TEXT'。聯合選擇適用於第一個命令,但不是第二個?
SqlCommand commandtwo = new SqlCommand("SELECT PID = RIGHT(REPLICATE('0',8) + CAST(PID AS VARCHAR(8)),8) + ',' FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID UNION SELECT 'TEXT'", con);
SqlCommand commandthree = new SqlCommand("SELECT INST = INST + ',' FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID UNION SELECT 'TEXT'", con);
我覺得這很奇怪,因爲commandtwo工作得很好。我也覺得很奇怪,爲了使逗號的commandthree工作,我不得不寫
= INST + ','
,而不是僅僅
+ ','
那麼,爲什麼我有這些奇怪的事件?或者因爲我認爲自己是初學者,我明顯不知道這個規則是什麼?我使用SQL Server 2008 R2非常感謝。
@PARENTPID如何被初始化? –
「你是什麼意思」而不是「+」,「'」? –
PARENTPID是一個貫穿文本框值的參數。 @Eben,如果你在commandtwo中注意到只添加+','用逗號分隔這些值,而在命令3中,簡單地添加+','將不起作用,我強制要求right = INST +','以使逗號工作。我會盡快發佈代碼。謝謝。 – javasocute