создать информацию о Excel в datatable и dataset, используя c# и Epplus - PullRequest
0 голосов
/ 12 апреля 2020

У меня проблема с моим собственным проектом,

Я хочу показать 5 последних вставленных данных в мою базу данных в виде лога, я загружаю данные из sql серверной базы данных, но в некоторых случаях ошибка соединения может чтобы он не вставлялся в базу данных, поэтому я создаю и вставляю данные в Excel, вот мой код,

   string excelreport = ConfigurationManager.AppSettings["pathreportexcel"].ToString() + "Report Excel " + DateTime.Now.ToString("yyyy MMMM dd hh") + ".xls";
  
 if (reply.Status != IPStatus.Success)
                                {
FileInfo excelFile = new FileInfo(@excelreport);

using (ExcelPackage excel = new ExcelPackage(excelFile))
 {
var worksheet = excel.Workbook.Worksheets["Worksheet1"];
int numCol = worksheet.Dimension.Rows;
int A = numCol + 1;
                                        worksheet.Cells[A, 1].Value = textEmp.Text;
worksheet.Cells[A, 2].Value = textEmp.Text;
worksheet.Cells[A, 3].Value = t_sched_id.ToString();
worksheet.Cells[A, 4].Value = DateTime.Now.ToString();
worksheet.Cells[A, 5].Value = "NULL";
worksheet.Cells[A, 6].Value = DateTime.Now.ToString();
worksheet.Cells[A, 7].Value = textEmp.Text;
worksheet.Cells[A, 8].Value = DateTime.Now.ToString();
worksheet.Cells[A, 9].Value = textEmp.Text;
worksheet.Cells[A, 10].Value = "NULL";
worksheet.Cells[A, 11].Value = "NULL";
worksheet.Cells[A, 12].Value = lblnameemp.Text;
excel.Save();
             }
             }
    else
    {
FingerLog.InsertData(semployeenik, semployeenik, t_sched_id, DateTime.Now, "NULL", semployeenik);
                                }
                                

и я показываю 5 последних вставленных данных в виде журнала

 DataTable dtlog5 = new DataTable();
 DataSet dslog5 = new DataSet();
 dslog5 = FingerLog.GetDataTop5();
 dtlog5 = dslog5.Tables[0];
 string[] values = new string[dtlog5.Rows.Count];
 foreach(DataRow drlog5 in dtlog5.Rows)
{
for (int loopcounter = 0; loopcounter < dtlog5.Rows.Count; loopcounter++)
{
values[loopcounter] = dtlog5.Rows[loopcounter]["emp_fullname"].ToString() + " " + dtlog5.Rows[loopcounter]["emp_nik"].ToString() + " " + dtlog5.Rows[loopcounter]["Timer_finger"].ToString();
label11.Text = values[0];
label19.Text = values[1];
label20.Text = values[2];
label22.Text = values[3];
label23.Text = values[4];
                }
            }
            dslog5.Clear();
            dtlog5.Clear();

Проблема в том, что когда данные не могут быть вставлены в базу данных, я хочу показать их в виде журнала,

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 12 апреля 2020

Я думаю, вы могли бы использовать оператор try-catch для этого

try
{
    //code that might cause the issue
}
catch (Exception e) //this catches any exception that happens, you can refer to it as e or any other name you pick (like ex!)
{
    //add to logs here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...