Как использовать Sqldependency с классом SqlHelper

Я привык работать с SqlHelper класс и поэтому хотел бы изменить существующий код, чтобы использовать его.

существующий код

public string GetData()
 {
  string message = string.Empty;
  string conStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
  using (SqlConnection connection = new SqlConnection(conStr))
   {
     string query = "usp_getdata";
     using (SqlCommand command = new SqlCommand(query, connection))
      {
        command.CommandType = CommandType.StoredProcedure;
        command.Notification = null;
        SqlDependency dependency = new SqlDependency(command);
        dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();

        if (reader.HasRows)
         {
          reader.Read();
          message = reader[0].ToString();
         }
       }
     }
    return message;
 }

Максимум, что я мог сделать, это. Как я могу сделать это лучше. Основная идея состоит в том, чтобы минимизировать количество строк кода, использовать SqlHelper, а также использовать набор данных вместо datareader.

public string GetData()
     {
      string message = string.Empty;
      string conStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
      SqlConnection connection = new SqlConnection(conStr);
            SqlCommand cmd = (SqlCommand)SqlHelper.CreateCommand(connection, "usp_getdata");
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Notification = null;
            SqlDependency dependency = new SqlDependency(cmd);
            dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
            message = ds.Tables[0].Rows[0]["Message"].ToString();
        return message;
     }

0 ответов

Другие вопросы по тегам