簡體   English   中英

方法未達到預期的效果

[英]Method is not doing what it's expected

我正在嘗試在MSSQL存儲過程中執行查詢,為此,我使用javascript,ajax和C#,這是我的代碼(javascript和ajax只是將參數發送到C#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。

https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx檢查您的SQL

對於UPDATE,INSERT和DELETE語句,返回值是該命令影響的行數。 當要插入或更新的表上存在觸發器時,返回值包括受插入或更新操作影響的行數以及受一個或多個觸發器影響的行數。 對於所有其他類型的語句,返回值為-1。 如果發生回滾,則返回值也為-1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM