ado.net - DbCommand , Must Declare a variable error -
this code. have added db parameter still shows me error (on execution). must declare scalar variable
dbcommand command; stringbuilder query = new stringbuilder( @"select isnull(upsellservice_oid,'') upsellservice_oid," + environment.newline + " isnull(servicename,'') servicename," + environment.newline + " isnull(servicedescription,'') servicedescription," + environment.newline + " isnull(create_by,'') create_by," + environment.newline + " isnull(create_date,'') create_date," + environment.newline + " isnull(modify_by,'') modify_by," + environment.newline + " isnull(modify_date,'') modify_date," + environment.newline + " isnull(active_f,'') active_f" + environment.newline + "from trgpayroll.zong.upsellservices " + environment.newline + "where 1 = 1"); if (!string.isnullorempty(idobject.servicename)) { query.append(" , servicename '%' @servicename '%'"); } command = db.getsqlstringcommand(query.tostring()); if (!string.isnullorempty(idobject.servicename)) { db.addinparameter(command, "servicename", dbtype.string, idobject.servicename); } return command;
i rewrite last part of code in way
if (!string.isnullorempty(idobject.servicename)) { query.append(" , servicename @servicename"); } command = db.getsqlstringcommand(query.tostring()); if (!string.isnullorempty(idobject.servicename)) { db.addinparameter(command, "@servicename", dbtype.string, "%" + idobject.servicename + "%"); }
the wildcard added directly value of parameter, while placeholder of parameter should free string concatenations. there many details missing sure of correctness of answer. in particular ican assume inner workings of methods getsqlstringcommand
, addinparameter
Comments
Post a Comment