簡體   English   中英

選擇語句僅保留在where語句中時,才通過復選框搜索

[英]Select statement only searches by check boxes when kept in the where statement

我在winform有21個textboxes和25個checkboxes ,我希望能夠鍵入這些textboxescheckboxes ,並在執行語句時返回相應的記錄。 此時,只要我在where子句中有一個沒有checkboxes的select語句,我都可以按任何textbox搜索並正常返回記錄,但是當我按checkbox添加搜索時,除帶有某些checkboxes記錄外,不返回任何記錄。檢查。 因此,如果我在textboxes輸入了任何內容並且未選中checkbox ,我仍然會收到未找到記錄的消息。

{


        con.Open();
        string str = "select * from engineering where (JobNumber like '%' + @search + '%' AND DateOrdered
        like '%' + @search1 + '%' AND Title like '%' + @search2 + '%' AND PhysicalAddressComplete like 
        '%' + @search3 + '%' AND County like '%' + @search4 + '%' AND Client like '%' + @search5 + '%' 
        AND Contact like '%' + @search6 + '%' AND ContactTitle like '%' + @search7 + '%' AND 
        MailingAddressComplete like '%' + @search8 + '%' AND BusinessPhone like '%' + @search9 + '%' 
        AND CellPhone like '%' + @search10 + '%' AND Email like '%' + @search11 + '%' AND OpenStatus 
        like '%' + @search12 + '%' AND CloseStatus like '%' + @search13 + '%' AND Cabinet 
        like '%' + @search14 + '%' AND Roll like '%' + @search15 + '%' AND Drawer like '%' + @search16 + '%' 
        AND ConstructionDrawings like '%' + @search17 + '%' AND Fee like '%' + @search18 + '%' AND 
        ConstructionCost like '%' + @search19 + '%' AND ProjectDescription like '%' + @search20 + '%' 
        AND DesignBuild like " + DesignBuild + " )";
        SqlCommand xp = new SqlCommand(str, con);
        xp.Parameters.Add("@search", SqlDbType.NVarChar).Value = txtProjectNumber.Text;
        xp.Parameters.Add("@search1", SqlDbType.NVarChar).Value = txtDateOrdered.Text;
        xp.Parameters.Add("@search2", SqlDbType.NVarChar).Value = txtProjectName.Text;
        xp.Parameters.Add("@search3", SqlDbType.NVarChar).Value = txtProjectAddress.Text;
        xp.Parameters.Add("@search4", SqlDbType.NVarChar).Value = txtCounty.Text;
        xp.Parameters.Add("@search5", SqlDbType.NVarChar).Value = txtClient.Text;
        xp.Parameters.Add("@search6", SqlDbType.NVarChar).Value = txtClientContact.Text;
        xp.Parameters.Add("@search7", SqlDbType.NVarChar).Value = txtContactTitle.Text;
        xp.Parameters.Add("@search8", SqlDbType.NVarChar).Value = txtBillingAddress.Text;
        xp.Parameters.Add("@search9", SqlDbType.NVarChar).Value = txtBusinessPhone.Text;
        xp.Parameters.Add("@search10", SqlDbType.NVarChar).Value = txtCellPhone.Text;
        xp.Parameters.Add("@search11", SqlDbType.NVarChar).Value = txtEmail.Text;
        xp.Parameters.Add("@search12", SqlDbType.NVarChar).Value = txtOpenStatus.Text;
        xp.Parameters.Add("@search13", SqlDbType.NVarChar).Value = txtCloseStatus.Text;
        xp.Parameters.Add("@search14", SqlDbType.NVarChar).Value = txtCabinet.Text;
        xp.Parameters.Add("@search15", SqlDbType.NVarChar).Value = txtRoll.Text;
        xp.Parameters.Add("@search16", SqlDbType.NVarChar).Value = txtDrawer.Text;
        xp.Parameters.Add("@search17", SqlDbType.NVarChar).Value = txtDrawings.Text;
        xp.Parameters.Add("@search18", SqlDbType.NVarChar).Value = txtFee.Text;
        xp.Parameters.Add("@search19", SqlDbType.NVarChar).Value = txtCost.Text;
        xp.Parameters.Add("@search20", SqlDbType.NVarChar).Value = txtProjectDescription.Text;

        try
        {


            da = new SqlDataAdapter();
            da.SelectCommand = xp;
            da.Fill(ss);


            Showdata(pos);
          if (ss.Rows.Count >0)
            {

                this.chkEducational.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Education"] == 1);
                this.chkDesign.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["DesignBuild"] == 1);
                this.chkMedical.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Medical"] == 1);
                this.chkReligious.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Religious"] == 1);
                this.chkMulti.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["MultiFamily"] == 1);
                this.chkStudent.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Student"] == 1);
                this.chkAssisted.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Assisted"] == 1);
                this.chkSingleFamily.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Single"] == 1);
                this.chkBridge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Bridge"] == 1);
                this.chkIntersection.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Intersection"] == 1);
                this.chkRoadway.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Roadway"] == 1);
                this.chkTransOther.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["TransportationOther"] == 1);
                this.chkRetailSmall.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["SmallRetail"] == 1);
                this.chkRetailLarge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["LargeRetail"] == 1);
                this.chkParks.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Parks"] == 1);
                this.chkIndustrial.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Industrial"] == 1);
                this.chkUtility.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Utility"] == 1);
                this.chkGCSmall.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["GCSmall"] == 1);
                this.chkGCLarge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["GCLarge"] == 1);
                this.chkOffice.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Office"] == 1);
                this.chkOther.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Other"] == 1);
                this.chkMunicipal.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Municipal"] == 1);
                this.chkPrivate.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Privates"] == 1);
                this.chkInstitutional.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Institutional"] == 1);
                this.chkMilitary.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Military"] == 1);


            }

        }
        catch
        {
            MessageBox.Show("No Record Found");

        }


        con.Close();

    }

但是,即使當我不在where子句中包含復選框時,我仍然會收到"no record found message" ,然后,一旦單擊該消息框,我的結果就會顯示出來。 這兩個問題中的任何一個的幫助都會很棒。

您是否嘗試過調試要檢查的代碼if (ss.Rows.Count >0)

this.chkEducational.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Education"] == 1);
                this.chkDesign.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["DesignBuild"] == 1);
                this.chkMedical.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Medical"] == 1);
                this.chkReligious.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Religious"] == 1);
                this.chkMulti.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["MultiFamily"] == 1);
                this.chkStudent.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Student"] == 1);
                this.chkAssisted.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Assisted"] == 1);
                this.chkSingleFamily.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Single"] == 1);
                this.chkBridge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Bridge"] == 1);
                this.chkIntersection.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Intersection"] == 1);
                this.chkRoadway.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Roadway"] == 1);
                this.chkTransOther.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["TransportationOther"] == 1);
                this.chkRetailSmall.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["SmallRetail"] == 1);
                this.chkRetailLarge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["LargeRetail"] == 1);
                this.chkParks.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Parks"] == 1);
                this.chkIndustrial.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Industrial"] == 1);
                this.chkUtility.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Utility"] == 1);
                this.chkGCSmall.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["GCSmall"] == 1);
                this.chkGCLarge.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["GCLarge"] == 1);
                this.chkOffice.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Office"] == 1);
                this.chkOther.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Other"] == 1);
                this.chkMunicipal.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Municipal"] == 1);
                this.chkPrivate.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Privates"] == 1);
                this.chkInstitutional.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Institutional"] == 1);
                this.chkMilitary.Checked = ((int)ss.AsEnumerable().FirstOrDefault()["Military"] == 1);

您的代碼在某處中斷,這就是為什么它顯示錯誤。

您能否分享屏幕截圖和數據集中進入ss數據

暫無
暫無

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

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