c# - How to export csv file with specific name? -


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