SQL 参数化示例

单独传递参数:

string sql = string.Format(@"select count(*) from sip_did_subscribe where acct_id=@acct_id and lower(nation_code) = @nation_code and lower(purpose) = @purpose");


                object o = SqlHelper.ExecuteScalar(Conn.IOF, CommandType.Text, sql, iofHelper.NewParameter("@acct_id", accountId), iofHelper.NewParameter("@nation_code", nationCode.ToLower()), iofHelper.NewParameter("@purpose", purpose.ToLower()));

      

参数数组方式:

       
                StringBuilder sql = new StringBuilder();
                sql.Append(@"select top 1000 local_provider_acctid as LP_ACCTID,
                        PORT_IN_DID,
                        first_NAME as F_Name,
                        last_name as L_Name,
                        street_number + '' + '' + street_number_suffix + '' + pre_directional + '' + Street_name + '' + street_suffix + '' + post_directional + '' + secondary_location_description + '' + unit as address,
                        city,
                        state,
                        country,
                        zip,
                        zip4,
                        ACCTID,
                        BTN,
                        order_id as OrderID,
                        L3_order_id as L3OrderID,
                        convert(char(10), LOA_DATE, 101) as LOA_DATE,
                        port_in_provider,
                        DESCRIPTION AS STATUS,
                        A.pon_id
                        from bb_DID_PORT_IN_REQUEST A, bb_DID_PORT_IN_STATUS B
                        WHERE A.STATUS = B.STATUS ");

                    sql.Append(" and acctid =@acct_id ");
        
                    sql.Append(" and order_id =@order_id ");
     
                    sql.Append(" and l3_order_id =@l3_order_id ");
       
                    sql.Append(" and acctid = (select acct_id from bb_account_basic where bbn=@bb_number) ");
     
             

                IDbDataParameter[] parameters = new IDbDataParameter[]
                                              {
                                                  iofHelper.NewParameter("@acct_id", query.AcctId),
                                                  iofHelper.NewParameter("@order_id", query.OrderId),
                                                  iofHelper.NewParameter("@l3_order_id", query.L3OrderId),
                                                  iofHelper.NewParameter("@bb_number", query.BBN),
                                                  iofHelper.NewParameter("@port_in_DID", query.PortInDID),
                                                  iofHelper.NewParameter("@first_name", query.CustomerName),
                                                  iofHelper.NewParameter("@country", query.Country),
                                                  iofHelper.NewParameter("@city", query.City),
                                                  iofHelper.NewParameter("@status", query.RequestStatus),
                                                  iofHelper.NewParameter("@startime", query.StartTime),
                                                  iofHelper.NewParameter("@endtime", query.EndTime),
                                                  iofHelper.NewParameter("@port_in_provider", query.Provider)
                                               };

using (IDataReader dataReader = SqlHelper.ExecuteReader(Conn.IOF, CommandType.Text, sql.ToString(), parameters))
                {
                    while (dataReader.Read())
                    {
                        PortInItem portInItem = new PortInItem();
                        portInItem.ACCTID = dataReader["ACCTID"].ToString();
                        portInItem.Address = dataReader["address"].ToString();
                        portInItem.BTN = dataReader["BTN"].ToString();
                        portInItem.City = dataReader["city"].ToString();
                        portInItem.Country = dataReader["country"].ToString();
                        portInItem.F_Name = dataReader["F_Name"].ToString();
                        portInItem.L_Name = dataReader["L_Name"].ToString();
                        portInItem.L3OrderID = dataReader["L3OrderID"].ToString();
                        portInItem.LOA_DATE = Convert.ToDateTime(dataReader["LOA_DATE"].ToString());
                        portInItem.LP_ACCTID = dataReader["LP_ACCTID"].ToString();
                        portInItem.OrderID = dataReader["OrderID"].ToString();
                        portInItem.Pon_id = dataReader["pon_id"].ToString();
                        portInItem.PORT_IN_DID = dataReader["PORT_IN_DID"].ToString();
                        portInItem.PROVIDER = GetPortInProvider(int.Parse(dataReader["port_in_provider"].ToString()));
                        portInItem.State = dataReader["state"].ToString();
                        portInItem.STATUS = dataReader["STATUS"].ToString();
                        portInItem.Zip = dataReader["zip"].ToString();
                        portInItem.Zip4 = dataReader["zip4"].ToString();
                        portInItems.PortInItemModels.Add(portInItem);
                    }
                    portInItems.BaseResult.Code = 0;
                    log.Info("Query Result Count:" + portInItems.PortInItemModels.Count);
                }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值