2012-04-04 63 views
0

我有一个方法,其中包含一个非常大的SQL查询直接在.CS文件。推荐的重构方法是什么?从源代码重构SQL查询

+1

将数据库代码移到其所属的位置...创建一个存储过程。 – Aliostad 2012-04-04 09:49:26

回答

2

您可以将大型复杂SQL查询放入SQL视图或存储过程中,并在代码中使用该查询。

1

你应该使用存储过程

string commandText = "SP_Your_Sp_Name"; 

using (SqlConnection objSqlConnection = Connection) 

{ 

    using (SqlCommand cmd = new SqlCommand(commandText, objSqlConnection)) 
    { 
     cmd.CommandType = CommandType.StoredProcedure; 
     cmd.Parameters.Add(new SqlParameter("@Parameter_Name", value)); 
     if (cmd.Connection.State != ConnectionState.Open) 
     { 
      cmd.Connection.Open(); 
     } 
     result = (string)cmd.ExecuteScalar(); 
    } 
} 
+0

什么是在服务器上创建存储过程并不那么容易(出于某种原因) – Zapacila 2012-04-04 14:45:21

0

使用存储过程。 在这种情况下,执行计划存储在缓存中时,查询执行速度会更快。