I want to export csv file from the database by specific names, such as the data of patient contains "Ward name" field as "GENERAL WARD (FEMALE)" then the gererated file name must be "GENF.csv ".I tried with switch case but not working. if there is any changes please edit.
thanks.
**here is the code sniped**
public void ExportAll()
{
try
{
int i = 0;
for (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 a = "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)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "GENF.csv");
}
break;
case 2 :
if (o == b)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "GENM.csv");
}
break;
case 3 :
if (o == c)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "REC.csv");
}
break;
case 4 :
if (o == d)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "SDELX02.csv");
}
break;
case 5 :
if (o == e)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "SDELX05.csv");
}
break;
case 6 :
if (o == f)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "SDELX06.csv");
}
break;
case 7 :
if (o == g)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "ICU.csv");
}
break;
case 8 :
if (o == h)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "SSPEC03.csv");
}
break;
case 9 :
if (o == j)
{
DataExport("select * from PatientTable where [WARD NAME] =" + o + "", "SSPEC01.csv");
}
break;
}
i++;
}
}
catch {}
}
**here is the 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 =
from dr in dt.Rows.Cast<DataRow>()
select String.Join(
",",
from 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 { }
}