I’m trying to figure out how to store data from SQL in a C# List. I want to save the data from a class instance in the List and then find the maximum value. Here’s what I’ve got so far:
public class PrinterData
{
public static PrinterInfo FetchPrinterInfo()
{
PrinterInfo printerInfo = new PrinterInfo();
using (SqlConnection conn = DatabaseConnection.GetPrinterInfoFromDB())
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM PrinterQueue WHERE QueuedTime >= DATEADD(day, -2, GETDATE())", conn);
using (SqlDataReader dataReader = cmd.ExecuteReader())
{
if (dataReader.Read())
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"{dataReader.GetName(0)}\t{dataReader.GetName(1)}\t{dataReader.GetName(4)}\t{dataReader.GetName(5)}");
while (dataReader.Read())
{
printerInfo.ID = (int)dataReader["ID"];
printerInfo.Name = (string)dataReader["Name"];
printerInfo.QueuedTime = (DateTime)dataReader["QueuedTime"];
printerInfo.LastUpdate = (DateTime)dataReader["LastUpdate"];
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine($"{dataReader.GetSqlInt32(0)}\t{dataReader.GetSqlString(1)}\t{dataReader.GetSqlDateTime(4)}\t{dataReader.GetSqlDateTime(5)} = {printerInfo.TimeDifference}sec");
Console.WriteLine("----------------------------");
}
Console.ReadKey();
return printerInfo;
}
return null;
}
}
}
}
Can someone help me store this data in a List and find the max value? Thanks!