2016-04-05 13 views
0

Kodumda yanlış olanı bulmakta sorun yaşıyorum hata ayıklayıcısını yürütme sorgusuna çarptığında ilk fırsat istisnasına çarptı, test ettiğimden beri sorgu olmadığını biliyorum SQL Management Studio'da. Birisi bana neyin yanlış olduğuyla ilgili bir fikir verebilirse, büyük ölçüde takdir edilecektir. İşte First Chance İstisnai ASP.NET

benim kodudur

,

/// <summary> 
    /// 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    protected void Page_Load(object sender, EventArgs e) { 
     if (!IsPostBack) { 
      string con_string = WebConfigurationManager.ConnectionStrings["CHDBConnectionString"].ConnectionString; 
      SqlConnection con = new SqlConnection(con_string); 
      SqlCommand cmd = new SqlCommand("SELECT SUBSTRING(NursingUnitID, 1, 1) AS Floor, COUNT(*) AS Patients" + 
              "FROM Admissions" + 
              "WHERE SUBSTRING(NursingUnitID, 1, 1) IN ('1', '2', '3')" + 
              "AND DischargeDate IS NULL" + 
              "GROUP BY SUBSTRING(NursingUnitID, 1, 1)", con); 

      try { 
       using (con) { 
        con.Open(); 
        SqlDataReader reader = cmd.ExecuteReader(); 

        chtFloor.Series["Series1"].Name = "currentPatients"; 
        chtFloor.Series["currentPatients"].Points.DataBindXY(reader, "Floor", "Patients"); 

        chtFloor.Width = 600; 
        chtFloor.Height = 600; 
        chtFloor.BorderSkin.SkinStyle = BorderSkinStyle.Emboss; 
        chtFloor.Titles.Add(new Title("Number of Current Patients on Each Floor", Docking.Top, new Font("Arial", 20f), Color.Black)); 
        chtFloor.Titles.Add(new Title("Nursing Unit", Docking.Bottom, new Font("Arial", 12f), Color.Black)); 
        chtFloor.BackColor = System.Drawing.ColorTranslator.FromHtml("AliceBlue"); 
       } 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.ToString()); 
      } 
     } 
    } 
+0

sen istisnayı verebilir misiniz? – Castaglia

+0

Dize birleştirme, kullanıcının girdisini sorguya ekleme girişiminin işareti olduğunu unutmayın. [Çok satırlı dize hazırlayıcıları] (http://stackoverflow.com/questions/1100260/multiline-string-literal-in-c-sharp) yanıtını kontrol etmenizi ve girişi gerçekten girmeyi denediğinizde parametrized sorguları kullanmanızı öneririz. Sorgunuz –

+0

(Mevcut durumdaki soru, yazım hatası olarak kapatılma şansına sahip - bunu nasıl düzelteceğinizden emin değilsiniz). –

cevap

1

dizeleri bitiştirmek zaman boşluk eklemek gerekir:

SqlCommand cmd = new SqlCommand(
    "SELECT SUBSTRING(NursingUnitID, 1, 1) AS Floor, COUNT(*) AS Patients " + 
    "FROM Admissions " + 
    "WHERE SUBSTRING(NursingUnitID, 1, 1) IN ('1', '2', '3') " + 
    "AND DischargeDate IS NULL " + 
    "GROUP BY SUBSTRING(NursingUnitID, 1, 1)", con); 
İlgili konular