我尝试了以下代码,但我无法从中找到成功消息。这里commandText
可以是插入、更新、删除或选择查询,如果它是一个选择查询,我需要数据集,否则像 sql 结果中的成功消息output("12 row(s) inserted successfully")
。我不能使用ExecuteScalar
或ExecuteNonQuery
方法,因为在执行选择查询时我需要数据集输出。
public static DataSet ExecuteDataset(string connectionString, CommandType commandType, string commandText, params SqlParameter[] commandParameters)
{
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.InfoMessage += delegate(object sender, SqlInfoMessageEventArgs e)
{
MessageInfo += "\n" + e.Message;
};
cn.FireInfoMessageEventOnUserErrors = true;
cn.Open();
using (SqlCommand command = new SqlCommand(commandText, cn))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
DataSet dt = new DataSet();
adapter.Fill(dt); // Do something with DataTable
return dt;
}
}
}
}