如何包含几个sql命令?

时间:2013-10-16 20:41:22

标签: sqlcommand

使用带有C#的ASP.NET,我正在尝试使用不同的SQL命令显示多个GridView。因为SQL语句很长,我想包含变量而不是实际的语句,但我不确定如何在SqlCommand方法中插入它们。如果没有变量,代码就会显示为

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

但不是实际的语句,我想用上面的字符串变量替换上面的sql语句......

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

如何将变量合并到上面的代码中?以下不起作用。

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

我是否缺少标点符号,或者可能需要额外的代码来识别我使用的是变量而不是实际的sql语句?

2 个答案:

答案 0 :(得分:2)

您只需要连接字符串:

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

如果你有多重命令 - 更好的方法是使用StringBuilder来收集它们,使用StringBuilder.ToString()作为SqlCommand构造函数的第一个参数:

StringBuilder sb = new StringBuilder();

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

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

但最好的方法是在存储过程中设置所有SELECT命令并调用该SP。

答案 1 :(得分:1)

在将字符串值传递给构造函数之前,需要将它们连接在一起:

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