方法没有执行它所期望的操作

本文关键字:期望 操作 执行 方法 | 更新日期: 2023-09-27 18:14:37

我试图在MSSQL存储过程中执行查询,要做到这一点,我使用,javascript, ajax和c#,这是我的代码(javascript和ajax只是发送参数到我的c# WebService和工作良好,问题是我的db方法或我的WebService代码):

WebService

[WebMethod]
public string RegistrarInspeccion(int id, string partNumber, string inspectionDate, string data, string data2, int newId)
{
   string respuesta = "Error";
   try
   {
       Inspection ins = new Inspection(id, partNumber, inspectionDate, data, data2, newId);
       int resp = conn.RegistrarInspeccion(ins);
       if (resp > 0)
          respuesta = "Good Job";
       else
          respuesta = "Something happen ....";
   }
   catch (Exception ex)
   {
      respuesta = "Error: " + ex.Message;
   }
    return respuesta;
}

DB_Class

public int RegistrarInspeccion(Inspection ins)
{
   int res = 0;
   SqlCommand cmd = new SqlCommand("InsertInspection", conn);
   try
   {
     Open();
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.AddWithValue("@partNumber", ins.PartNumber);
     cmd.Parameters.AddWithValue("@inspectionDate", ins.InspectionDate);
     cmd.Parameters.AddWithValue("@data", ins.Data);
     cmd.Parameters.AddWithValue("@data2", ins.Data2);
     cmd.Parameters.AddWithValue("@NewId", ins.NewId);
     res = cmd.ExecuteNonQuery();
   }
   finally
   {
      Close();
   }
   return res;    
}

我没有得到任何错误,只是我总是得到"respuesta = "Something happen ....";消息,我不知道什么可能是问题,也许我的数据库代码没有正确执行?我能做些什么来解决这个问题?提前谢谢。

我试图将respuesta = "Something happen ....";更改为respuesta = resp.toString();,现在我得到-1作为结果。

方法没有执行它所期望的操作

检查您的SQL,从https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx

对于UPDATE、INSERT和DELETE语句,返回值是受该命令影响的行数。当正在插入或更新的表上存在触发器时,返回值包括受插入或更新操作影响的行数以及受一个或多个触发器影响的行数。对于所有其他类型的语句,返回值为-1。如果发生回滚,返回值也是-1