C# 我有一些值,我想在SqlDatabase的表中执行它,我使用存储过程和参数

C# 我有一些值,我想在SqlDatabase的表中执行它,我使用存储过程和参数,c#,sql,C#,Sql,当我尝试这个代码时 public void ExcuteCommand(string stored_procedure, SqlParameter[] param) { SqlCommand sqlcmd = new SqlCommand(); sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.CommandText = stored_procedure; s

当我尝试这个代码时

 public void ExcuteCommand(string stored_procedure, SqlParameter[] param)
    {
        SqlCommand sqlcmd = new SqlCommand();
        sqlcmd.CommandType = CommandType.StoredProcedure;
        sqlcmd.CommandText = stored_procedure;
        sqlcmd.Connection = sqlconnection;

        if (param != null)
        {
            sqlcmd.Parameters.AddRange(param);
        }
        sqlcmd.ExecuteNonQuery();

要执行它,它会给我一些错误信息,如我用于此数据表、参数和存储过程的pic中的错误信息,您正试图在SP中插入具有标识规范(Autoincrement)属性的表ID。从insert语句中删除ID,它应该可以工作。

您正在尝试插入标识列的值(ID)

您可以通过将其附加到查询语句中来关闭它

SET IDENTITY_INSERT Table_Name OFF 

您是否尝试搜索错误消息?您可以发布错误消息,而不是上传屏幕截图来显示错误消息。我尝试过这样做,但无法解决问题,请您进一步解释,请尝试一下,给我相同的结果您可以显示您的查询语句吗?尝试在“您的查询语句”上设置标识\u插入表\u名称SET IDENTITY\u INSERT Table\u Name OFFIS这对存储过程很好??这不是一个好的做法,但它解决了您的问题。默认情况下,它是自动递增的。