c# - How to read each data from json array and assign it to SQL Server IN clause -
client application sends json array .net application. i'm receiving using name value collection. want read it's value , assign in clause of sql query.
httpcontext context = httpcontext.current; namevaluecollection nvc = context.request.form; string co_json = nvc["co_json"]; // jsarray : [{"roll_number":"11","mark":"68"},{"roll_number":"22","mark":"70"}]"; // want 2 roll numbers above json , need pass sql sqldataadapter da = new sqldataadapter("select * student_details roll_number in ( ???) ", con); datatable dt = new datatable(); da.fill(dt);
you can convert json custom c# object using newtonsoft json.net can create class this:
public class rollmark { public string roll_number {get;set;} public string mark {get;set;} } now can this:
httpcontext context = httpcontext.current; namevaluecollection nvc = context.request.form; string co_json = nvc["co_json"];// jsarray : [{"roll_number":"11","mark":"68"},{"roll_number":"22","mark":"70"}]"; //collect rollmarks in json c# list var rollmarks = newtonsoft.json.jsonconvert.deserializeobject<list<rollmark>>(co_json ); and can add parameters in query this:
//format in query string[] paramarray = rollmarks.select(x, i) => "@settings" + i).toarray(); string query = string.format("select * student_details roll_number in ({0})", string.join(",", paramarray)); sqldataadapter da = new sqldataadapter(query, con); datatable dt = new datatable(); (int = 0; < rollmarks.count(); ++i) { da.selectcommand.parameters.addwithvalue("@settings", rollmarks[i].roll_number) } da.fill(dt);
Comments
Post a Comment