2013-10-16 116 views
1

在C#中使用ASP.NET,我試圖用不同的SQL命令顯示大量的GridView。由於SQL語句很長,我想包含變量而不是實際語句,但我不確定如何將它們插入到SqlCommand方法中。如果沒有變數,代碼顯示爲使如何包含幾個sql命令?

SqlCommand cmd = new SqlCommand("SELECT....; SELECT...." , myConn);

但不是實際的說法,我想替換字符串變量,如低於上述SQL語句...

string sqlVar1 = "SELECT....."; 
string sqlVar2 = "SELECT...."; 

如何將變量合併到上述代碼中?下面不起作用。

SqlCommand cmd = new SqlCommand(sqlVar1; sqlVar2, myConn); 

是否有一個標點符號我失蹤或額外的代碼需要認識到,我使用的變量,而不是實際的SQL語句?

回答

1

你需要連接你的字符串值,你將它們傳遞到構造函數之前在一起:

SqlCommand cmd = new SqlCommand(String.Format("{0};{1}", sqlVar1, sqlVar2), myConn); 
+0

太謝謝你了。 –

2

您簡單需要在連接字符串:

SqlCommand cmd = new SqlCommand(sqlVar1 + ';' + sqlVar2, myConn); 

如果你有multipple命令 - 一個更好的辦法是使用StringBuilder,收集他們StringBuilder.ToString()爲SqlCommand的構造函數的第一個參數:

StringBuilder sb = new StringBuilder(); 

sb.Append("SELECT .....;"); 
sb.Append("SELECT .....;"); 

SqlCommand cmd = new SqlCommand(sb.ToString(), myConn); 

但最好的方法是在存儲過程中設置所有的SELECT命令並調用該SP。