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

Popular posts from this blog

inversion of control - Autofac named registration constructor injection -

verilog - Systemverilog dynamic casting issues -

ios - Change Storyboard View using Seague -