Tuesday 15 May 2012

Delete records with "in" clause using ado.net -



Delete records with "in" clause using ado.net -

below code, trying execute using ado.net. doing wrong?

trying delete records using ado.net private const string sqldeletemultiple = @" delete [board] [id] in (@ids) "; public void deletemultiple(string items) { argumentvalidator.throwonnull("item", items); /* var sbitems = new stringbuilder(); sbitems.append("'"); sbitems.append(items); sbitems.replace(",", "','"); sbitems.append("'");*/ seek { using (var conn = new sqlconnection(_connectionstring)) { conn.open(); using (var cmd = new sqlcommand( sqldeletemultiple,conn)) { cmd.parameters.add(new sqlparameter("@ids", sqldbtype.varchar) {value = items}); cmd.executenonquery(); } } } grab (exception err) { _logger.log(loglevel.error, err, "error calling delete"); throw err; } }

conversion failed when converting varchar value '9,8' info type int. if alter sqldbtype int.. error.

your @ids contains list of values provide 1 sqlparameter ... add together sqlparameter each value in list , should work

you utilize table valued parameter pass list stored procedure ... need set delete statement stored procedure , create user defined type on server side ...

ado.net in-clause

No comments:

Post a Comment