Как использовать 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;
}