在c#中执行SqlCommand.ExecuteNonQuery时如何获取数据库错误?

Sve*_*lav 0 c# sql sql-server sqlcommand

我有这些陈述:

SqlCommand sqlcmd = new SqlCommand("some query", "some db connection");
sqlcmd.ExecuteNonQuery();
Run Code Online (Sandbox Code Playgroud)

执行此查询时,如何从数据库中获取消息?

例如,如果2行受到影响,我想要SQL Server消息说:

 1 row(s) affected
 1 row(s) affected
Run Code Online (Sandbox Code Playgroud)

在C#代码中.或者,例如,如果与主键发生冲突,我的意思是我试图插入存在主键的行,我希望收到数据库错误消息,其中显示:"主键重复".

小智 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.");
  }
Run Code Online (Sandbox Code Playgroud)