У меня есть файл CSV с этим форматом
Subject_ID
3
4
5
6
34
65
6534
Я хочу написать цикл кода C # для этого файла CSV и вернуть эти данные в соответствии с номером субъекта, как в следующем запросе
select * from chartevents c where c.itemid In(21,30006,490)and c.subject_id=@ID
В C # я пишу этот код // читать столбец из CSV
foreach (string csvLines in File.ReadAllLines("C:\path"))
{
//Here csvItem is each Line in the CSV file
string[] csvItems = csvLines.Split(',').ToArray();
var patient_num = csvItems[0];
}
**// creating the connection string (Server, Port, User id, password, database)** string conStr = "Server=127.0.0.1; Port=5432; User Id=postgres; Password=postgres; Database=mimic;";
NpgsqlConnection conn = new NpgsqlConnection(conStr);
string comStr = "select * from chartevents c where c.itemid In(211,220045,618,220210,220277,220050,220052,220180,223900,723,223901,454," "184,220739,3655,676,223762,223761,3420,2981,813,220545,225651,4948,828,30006,490)and c.subject_id=@ID;
NpgsqlParameter param = new NpgsqlParameter();
param.ParameterName = "@ID";
NpgsqlCommand com = new NpgsqlCommand(comStr, conn);
com.Parameters.Add(param);
NpgsqlDataAdapter ad = new NpgsqlDataAdapter(com);
DataTable dt = new DataTable();
Console.WriteLine("Conection to server established successfuly \n");
// check if connection is open or not
if (conn != null && conn.State == ConnectionState.Open)
{
Console.WriteLine("Connection Open");
conn.Close();
}
else
{
conn.Open();
}
//// Fill data table with data and start reading
//function to loop on subject_id values and execute query based on value of subject id then save results
// in csv and concatenate other value in the csv file for every for loo[iteration]
//for loop
// {
//ad.Fill(dt);
//NpgsqlDataReader dRead = com.ExecuteReader();
//}
try
{
Console.WriteLine("Contents of table in database: \n");
while (dRead.Read())
{
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
Console.Write("{0} \t \n", row[i].ToString());
// how to save return data to csv file
}
}
}
}
catch (NpgsqlException ne)
{
Console.WriteLine("Problem connecting to server, Error details {0}", ne.ToString());
}
finally
{
Console.WriteLine("Closing connections");
dRead.Close();
dRead = null;
conn.Close();
conn = null;
com.Dispose();
com = null;
}
}
}
}
Пожалуйста, я хочу, чтобы кто-нибудь помог мне в написании комментариевфункция, которая выполняет запрос на основе параметра субъекта и сохраняет каждый результат в CSV-файле