Theo Rory
"Có một lớp ProfiledDbDataAdapter được cung cấp cho việc này mà bạn có thể sử dụng bao quanh SqlDataAdapter hiện có của mình."
Theo gợi ý này, bạn có thể viết một số mã như thế này
public DbConnection _dbConnection;
private DbCommand _dbCommand;
private DbDataAdapter _dbDataAdapter;
public DataSet GetResultByProcWithSingleParam(string procName, SqlParameter sqlParams)
{
try
{
_dbCommand = _dbConnection.CreateCommand();
_dbCommand.CommandType = CommandType.StoredProcedure;
_dbCommand.Parameters.Add(sqlParams);
_dbCommand.CommandText = procName;
_dbConnection.Open();
_dbCommand.ExecuteNonQuery();
_dbDataAdapter = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateDataAdapter();
_dbDataAdapter = new ProfiledDbDataAdapter(_dbDataAdapter);
_dbDataAdapter.SelectCommand = _dbCommand;
_ds = new DataSet();
_dbDataAdapter.Fill(_ds);
_dbConnection.Close();
return _ds;
}
catch (Exception ex)
{
throw;
}
}
Và không gian tên cho mã này là:
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using StackExchange.Profiling;
using StackExchange.Profiling.Data;
Tôi hy vọng nó sẽ làm việc. Trong trường hợp của tôi, nó đang hoạt động thành công.