我有这些陈述:
SqlCommand sqlcmd = new SqlCommand("some query", "some db connection");
sqlcmd.ExecuteNonQuery();
执行此查询时,如何从数据库中获取消息?
例如,如果2行受到影响,我希望SQL Server消息显示:
1 row(s) affected
1 row(s) affected
在C#代码中。或者,例如,如果与主键发生冲突,我的意思是我试图插入存在主键的行,我希望收到数据库错误消息,其中显示:“主键重复”。
答案 0 :(得分:6)
可能的解决方案之一:
int rowsAffected = 0;
bool HasErrors = false;
try
{
SqlCommand sqlcmd = new SqlCommand("some query", "some db connection");
rowsAffected= sqlcmd.ExecuteNonQuery();
}
catch (System.Exception ex)
{
HasErrors=true;
MessageBox.Show(ex.message)
}
if (!HasErrors)
{
MessageBox.Show(rowsAffected.ToString() + " row(s) affected.");
}