i want export csv file database specific names, such data of patient contains "ward name" field "general ward (female)" gererated file name must "genf.csv ". tried switch-case not working. if there changes please edit.
thanks.
here code:
//function declares methods export public void exportall() { try { int = 0; (int icount = 0; icount <= 400; icount++) { object o = sainathhospitaldataset.tables["patienttable"].rows[i]["ward name"]; object obj = sainathhospitaldataset.tables["patienttable"].rows[i]["ptname"]; int swichexpression = 9; object = "general ward (female)"; object b = "general ward (male)"; object c = "recovery"; object d = "semi deluxe 02"; object e = "semi deluxe 05"; object f = "semi deluxe 06"; object g = "icu"; object h = "semi special 03"; object j = "semi special 01"; switch (swichexpression) { case 1: if (o == a) { // o = "genf"; dataexport("select * patienttable [ward name] =" + o + "", "genf.csv"); } break; case 2: if (o == b) { // o = "genm"; dataexport("select * patienttable [ward name] =" + o + "", "genm.csv"); } break; case 3: if (o == c) { //o = "rec"; dataexport("select * patienttable [ward name] =" + o + "", "rec.csv"); } break; case 4: if (o == d) { // o = "sdelx02"; dataexport("select * patienttable [ward name] =" + o + "", "sdelx02.csv"); } break; case 5: if (o == e) { // o = "sdelx05"; dataexport("select * patienttable [ward name] =" + o + "", "sdelx05.csv"); } break; case 6: if (o == f) { // o = "sdelx06"; dataexport("select * patienttable [ward name] =" + o + "", "sdelx06.csv"); } break; case 7: if (o == g) { //o = "icu"; dataexport("select * patienttable [ward name] =" + o + "", "icu.csv"); } break; case 8: if (o == h) { //o = "sspec03"; dataexport("select * patienttable [ward name] =" + o + "", "sspec03.csv"); } break; case 9: if (o == j) { //string z = "sspec01"; dataexport("select * patienttable [ward name] =" + o + "", "sspec01.csv"); } break; } //dataexport("select * patienttable", "" + s + ".csv"); i++; } } catch { } }
edited::data export method,
public void dataexport(string selectquery, string filename) { try { using (var dt = new datatable()) { using (var da = new sqldataadapter(selectquery, con)) { da.fill(dt); var header = string.join( ",", dt.columns.cast<datacolumn>().select(dc => dc.columnname)); var rows = dr in dt.rows.cast<datarow>() select string.join( ",", dc in dt.columns.cast<datacolumn>() let t1 = convert.isdbnull(dr[dc]) ? "" : dr[dc].tostring() let t2 = t1.contains(",") ? string.format("\"{0}\"", t1) : t1 select t2); using (var sw = new streamwriter(txtreceive.text + "\\" + filename)) { sw.writeline(header); foreach (var row in rows) { sw.writeline(row); } sw.close(); } } } } catch { } }
your switch case incorrect, right you're making mix of switch case , if statements, switch case go case 9 , don't need switch case on integers. need change this:
string o = sainathhospitaldataset.tables["patienttable"].rows[i]["ward name"]; const string = "general ward (female)"; const string b = "general ward (male)"; const string c = "recovery"; const string d = "semi deluxe 02"; const string e = "semi deluxe 05"; const string f = "semi deluxe 06"; const string g = "icu"; const string h = "semi special 03"; const string j = "semi special 01"; switch (o) { case (a): //do break; case (b): //do break; default: //do break; }
edit: if want export file per patient each of wards, have change foreach loop of export method this:
foreach (var row in rows) { using (var sw = new streamwriter(txtreceive.text + "\\" + "some variable identify different patients" + filename)) { sw.writeline(header); sw.writeline(row); } }
assuming each row represents patient, need create file per row.
Comments
Post a Comment