2013-10-16 56 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。