2012-04-04 92 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

使用存儲過程。 在這種情況下,執行計劃存儲在緩存中時,查詢執行速度會更快。