Could you try the below ones,
1. With (?)
SqlDataSource1.SelectCommand ="select order, recalled, edte, acct, sub, name, add1, add2, add3, code from lib.tablename t1 where code IN (?) and edte >= ? and edte <= ? order by t1.order desc"
OR
2. With ({?})
SqlDataSource1.SelectCommand ="select order, recalled, edte, acct, sub, name, add1, add2, add3, code from lib.tablename t1 where code IN ({?}) and edte >= ? and edte <= ? order by t1.order desc"
OR
3. With ({?}) and function GetCodeList()
SqlDataSource1.SelectCommand = String.Format("select order, recalled, edte, acct, sub, name, add1, add2, add3, code from lib.tablename t1 where code IN ({?}) and edte >= ? and edte <= ? order by t1.order desc),GetCodeList())"
GetCodeList() function should return the following without open and close braces,
"'CCM', 'CCS', 'CDR', 'CIR', 'CLM', 'CLP', 'CMC', 'CML', 'CMS', 'CNI', 'CRB', 'CRD', 'CRW', 'CTP', 'CTU'"
.RS.