2014-10-05 118 views
0

我遇到以上錯誤,找不到合適的解決方案。請幫幫我。我也谷歌關於這個錯誤,但我沒有得到它的解決方案。在DAL.dll中發生未處理的類型爲「System.StackOverflowException」的異常

我的數據訪問是遵循

using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using BAL; 

namespace DAL 
{ 
    public class dlvisa 
    { 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ParmarConnection"].ConnectionString); 
     public int INS(blvisa bl) 
     { 
      int id = 0; 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("sp_Visa_Master", con); 
      cmd.CommandType = CommandType.StoredProcedure; 

      try 
      { 

       cmd.Parameters.AddWithValue("@Visa_Id", bl.Visa_Id); 
       cmd.Parameters.AddWithValue("@Visa_type_Id", bl.Visa_type_Id); 
       cmd.Parameters.AddWithValue("@Arrival_date", bl.Arrival_date); 
       cmd.Parameters.AddWithValue("@Currency", bl.Currency); 
       cmd.Parameters.AddWithValue("@Name", bl.Name); 
       cmd.Parameters.AddWithValue("@Email", bl.Email); 
       cmd.Parameters.AddWithValue("@Mob", bl.Mob); 
       cmd.Parameters.AddWithValue("@NoOfAdult", bl.NoOfAdult); 
       cmd.Parameters.AddWithValue("@NoOfChild", bl.NoOfChild); 
       cmd.Parameters.AddWithValue("@NoOfInfant", bl.NoOfInfant); 
       cmd.Parameters.AddWithValue("@PriceOfAdult", bl.PriceOfAdult); 
       cmd.Parameters.AddWithValue("@PriceOfChild", bl.PriceOfChild); 
       cmd.Parameters.AddWithValue("@PriceOfInfant", bl.PriceOfInfant); 
       cmd.Parameters.AddWithValue("@TotalPrice", bl.TotalPrice); 
       cmd.Parameters.AddWithValue("@mode", bl.Mode); 
       id = Convert.ToInt32(cmd.ExecuteScalar()); 
       con.Close(); 
      } 
      catch (Exception) 
      { 


      } 
      return id; 
     } 

     public void Insert_Trn_Visa(blvisa bl) 
     { 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("sp_Trn_Visa", con); 
      cmd.CommandType = CommandType.StoredProcedure; 

      try 
      { 
       cmd.Parameters.AddWithValue("@Trn_Visa_Id", bl.Trn_Visa_Id); 
       cmd.Parameters.AddWithValue("@Visa_Id", bl.Visa_Id); 
       cmd.Parameters.AddWithValue("@PhotoCopy", bl.PhotoCopy); 
       cmd.Parameters.AddWithValue("@Passport1", bl.Passport1); 
       cmd.Parameters.AddWithValue("@Passport2", bl.Passport2); 
       cmd.Parameters.AddWithValue("@Name", bl.ParticularName); 
       cmd.Parameters.AddWithValue("@mode", bl.Mode); 
       cmd.ExecuteNonQuery(); 
       con.Close(); 
      } 
      catch (Exception) 
      { 


      } 
     } 

     public DataSet BindDummyRows(blvisa visa) 
     { 
      DataSet ds = new DataSet(); 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("DummyRows", con); 
      SqlDataAdapter da = new SqlDataAdapter(); 
      cmd.CommandType = CommandType.StoredProcedure; 
      try 
      { 
       cmd.Parameters.AddWithValue("@Rows", visa.RowNo); 
       cmd.Connection = con; 
       da.SelectCommand = cmd; 
       da.Fill(ds); 
       con.Close(); 
      } 
      catch (Exception) 
      { 

      } 

      return ds; 
     } 

    } 
} 

我的業務層如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace BAL 
{ 
    public class blvisa 
    { 
     public int RowNo { get; set; } 
     public int Visa_Id { get; set; } 
     public int Visa_type_Id { get; set; } 
     public DateTime Arrival_date { get; set; } 
     public string Currency { get; set; } 
     public string Name { get; set; } 
     public string Email { get; set; } 
     public string Mob { get; set; } 
     public int NoOfAdult { get; set; } 
     public int NoOfChild { get; set; } 
     public int NoOfInfant { get; set; } 
     public decimal PriceOfAdult { get; set; } 
     public decimal PriceOfChild { get; set; } 
     public decimal PriceOfInfant { get; set; } 
     public decimal TotalPrice { get; set; } 
     public string Mode { get; set; } 

     public int Trn_Visa_Id { get; set; } 
     public string PhotoCopy { get; set; } 
     public string Passport1 { get; set; } 
     public string Passport2 { get; set; } 
     public string ParticularName { get; set; } 
    } 
} 

回答

0

您試圖投回到你的存儲過程返回的整個結果爲整數值在這裏「id = Convert.ToInt32(cmd.ExecuteScalar());」這可能會超出整數的內存範圍。在此語句中放置一個斷點並查看堆棧跟蹤。

+0

我在頁面加載時遇到了此錯誤,當我在頁面中調用業務層和數據層時 – Developer 2014-10-05 05:05:20

相關問題