DataTable和DataParameter联系

将这些查询条件存入一个新建的DataTable里面种

DataTable dtAri = new DataTable();
            dtAri.Columns.Add("id", typeof(System.Int32));
            dtAri.Columns.Add("cgd", typeof(System.String));
            dtAri.Columns.Add("mtr", typeof(System.String));
            dtAri.Columns.Add("cmt", typeof(System.String));
            dtAri.Columns.Add("txt", typeof(System.String));
            dtAri.Columns.Add("psn_txt", typeof(System.String));
            dtAri.Columns.Add("mtr_mcs", typeof(System.Int32));
            dtAri.Columns.Add("pvd_txt", typeof(System.String));
            DataRow ariRow = dtAri.NewRow();
          
            if (!String.IsNullOrEmpty(dtxtMcsSup.Text))
            {
                ariRow["mtr_mcs"] = dtxtMcsSup.Value;
            }
            if (!String.IsNullOrEmpty(dtxtPvd.Text))
            {
                ariRow["pvd_txt"] = dtxtPvd.Value;
            }
            if (!String.IsNullOrEmpty(txtMtrTxt.Text))
            {
                ariRow["txt"] = txtMtrTxt.Text;
            }
            if (!String.IsNullOrEmpty(txtWlCode.Text))
            {
                ariRow["mtr"] = txtWlCode.Text;
            }
            if (!String.IsNullOrEmpty(txtShtCode.Text))
            {
                ariRow["cgd"] = txtShtCode.Text;
            }
            if (!String.IsNullOrEmpty(txtPerPer.Text))
            {
                ariRow["psn_txt"] = txtPerPer.Text;
            }
            ariRow["cmt"] = this.LogonUserID;
            dtAri.Rows.Add(ariRow);

后台数据操作,创建一个数组,存储查询条件。根据上面传过来的DataTable的一行值进行判断

KYDataParameter[] parameters = new KYDataParameter[9];
            parameters[0] = new KYDataParameter("mtr_type", String.Empty);
            parameters[1] = new KYDataParameter("pvd_txt", String.Empty);
            parameters[2] = new KYDataParameter("mtr_txt", String.Empty);
            parameters[3] = new KYDataParameter("mtr_sht", String.Empty);
            parameters[4] = new KYDataParameter("ari_cgd", String.Empty);
            parameters[5] = new KYDataParameter("sgd_psntxt", String.Empty);
            parameters[6] = new KYDataParameter("bdt", DateTime.Now.Date);
            parameters[7] = new KYDataParameter("edt", DateTime.Now.Date);
            parameters[8] = new KYDataParameter("usr", KYDbType.VarChar, 50);

            if (queryData!=null&&queryData.Rows.Count>0)
            {
                DataRow ariRow = queryData.Rows[0];
                if (!DBNull.Value.Equals(ariRow["mtr_mcs"]))
                {
                    whereBuilder.Append(" AND mtr.mcs = @mtr_type  ");
                    parameters[0].Value = ariRow["mtr_mcs"];

                }
                if (!DBNull.Value.Equals(ariRow["pvd_txt"]))
                {
                    whereBuilder.Append("  AND ari.pvd = @pvd_txt ");
                    parameters[1].Value = ariRow["pvd_txt"];

                }
                if (!DBNull.Value.Equals(ariRow["txt"]))
                {
                    whereBuilder.Append(" AND mtr.txt = @mtr_txt ");
                    parameters[2].Value = ariRow["txt"];

                }
                if (!DBNull.Value.Equals(ariRow["mtr"]))
                {
                    whereBuilder.Append(" AND mtr.sht = @mtr_sht  ");
                    parameters[3].Value = ariRow["mtr"];

                }
                if (!DBNull.Value.Equals(ariRow["cgd"]))
                {
                    // whereBuilder.Append("  AND ari.cgd = @ari_cgd  ");
                    whereBuilder.Append("  AND ari.cgd LIKE '%' + @ari_cgd + '%' ");

                    parameters[4].Value = ariRow["cgd"];


                }
                if (!DBNull.Value.Equals(ariRow["psn_txt"]))
                {
                    whereBuilder.Append(" AND  sgd.psn_txt = @sgd_psntxt ");
                    parameters[5].Value = ariRow["psn_txt"];

                }

                if (queryDate.Length == 2)
                {
                    whereBuilder.Append(" AND ari.dat BETWEEN @bdt AND @edt ");
                    parameters[6].Value = queryDate[0];
                    parameters[7].Value = queryDate[1];

                }

                parameters[8].Value = ariRow["cmt"];
            }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值