Как отобразить сообщения об ошибках после вставки данных в базу данных
Below is my button click event the problem is till the sheet is uploaded successfully i am getting the label messages as error messages on button click but once it is uploaded successfully when i click the button the label messages are not getting displayed protected void btnUpload_Click(object sender, EventArgs e) { //Validations for From Date,To Date and File Uploader if (ddlmonth.SelectedValue == "0") { lblerrorMessage.Text = "Please Select The Month"; } else if (ddlyear.SelectedValue == "0") { lblerrorMessage.Text = "Please Select The Year"; } else if (FileUpload1.HasFile == false) { lblerrorMessage.Text = "Please Select A File"; } else { string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName); FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Files/" + fileName)); string fullpath = Path.GetFullPath(Server.MapPath("~/Files/" + fileName)); ReadExcelSheet obj = new ReadExcelSheet(); //send filepath,sheet number,selected rows to class file DataTable dt = obj.Read(fullpath, 1); bool Ismatch = false; //string getmonth = txtfromdate.Text.Trim(); //string getyear = txtToDate.Text.Trim(); for (int i = 0; i < dt.Rows.Count; i++) { string date = dt.Rows[i]["Month"].ToString(); string[] date1 = date.Split('/'); string month = date1[0]; string year = date1[2]; //newly added for the existing code to obtain the month and year //from date //string[] splitmonth = getmonth.Split('/'); //string newmonth = splitmonth[0].ToString(); //txtfromdate.Text = newmonth.ToString(); ////To date //string[] splityear = getyear.Split('/'); //string newyear = splityear[2].ToString(); //txtToDate.Text = newyear.ToString(); if (month == ddlmonth.SelectedValue && year == ddlyear.SelectedValue) { Ismatch = true; //break; } else { Ismatch = false; break; } } if (Ismatch == true) { lblerrorMessage.Visible = false; lblerrorMessage.Text = "Valid Document"; } else { lblerrorMessage.Text = "Not a Valid Document"; ddlmonth.ClearSelection(); ddlyear.ClearSelection(); label1.Text = ""; return; } //checking the input month and year records exists or not in DB SqlCommand cmd = new SqlCommand("select Uploaded from TestMCount ", con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable DBdt = new DataTable(); da.Fill(DBdt); if (DBdt.Rows.Count > 0) { int month1; bool validMonth = int.TryParse(ddlmonth.SelectedValue, out month1); int year1; bool validYear = int.TryParse(ddlyear.SelectedValue, out year1); var filteredRows = from row in DBdt.AsEnumerable() let date = row.Field<System.DateTime>("Uploaded") where date.Month == month1 && date.Year == year1 select row; DataRow[] dr = filteredRows.ToArray(); DataTable selectedrows = filteredRows.CopyToDataTable(); if (selectedrows.Rows.Count > 0) { for (int i = 0; i <= selectedrows.Rows.Count - 1; i++) { string date2 = selectedrows.Rows[i]["Uploaded"].ToString(); con.Open(); SqlCommand cmd1 = new SqlCommand("delete from TestMCount where Uploaded='" + date2 + "'", con); SqlDataAdapter da1 = new SqlDataAdapter(cmd1); cmd1.ExecuteNonQuery(); con.Close(); } SqlBulkCopy objbulk = new SqlBulkCopy(con); objbulk.DestinationTableName = "TestMCount"; //mapping the columns objbulk.ColumnMappings.Add("ID", "MID"); objbulk.ColumnMappings.Add("Month", "Uploaded"); objbulk.ColumnMappings.Add("Client Name", "ClientName"); objbulk.ColumnMappings.Add("Charges", "Charge"); objbulk.ColumnMappings.Add("Payment", "Payment"); objbulk.ColumnMappings.Add("Adjustment", "Adjustment"); objbulk.ColumnMappings.Add("W/O", "WO"); con.Open(); objbulk.WriteToServer(dt); con.Close(); label1.Text = "Uploaded Successfully"; } else { SqlBulkCopy objbulk = new SqlBulkCopy(con); objbulk.DestinationTableName = "TestMCount"; //mapping the columns objbulk.ColumnMappings.Add("ID", "MID"); objbulk.ColumnMappings.Add("Month", "Uploaded"); objbulk.ColumnMappings.Add("Client Name", "ClientName"); objbulk.ColumnMappings.Add("Charges", "Charge"); objbulk.ColumnMappings.Add("Payment", "Payment"); objbulk.ColumnMappings.Add("Adjustment", "Adjustment"); objbulk.ColumnMappings.Add("W/O", "WO"); con.Open(); objbulk.WriteToServer(dt); con.Close(); label1.Text = "Uploaded Successfully"; } } else { SqlBulkCopy objbulk = new SqlBulkCopy(con); objbulk.DestinationTableName = "TestMCount"; //mapping the columns objbulk.ColumnMappings.Add("Month", "Uploaded"); objbulk.ColumnMappings.Add("ID", "MID"); objbulk.ColumnMappings.Add("Client Name", "ClientName"); objbulk.ColumnMappings.Add("Charges", "Charge"); objbulk.ColumnMappings.Add("Payment", "Payment"); objbulk.ColumnMappings.Add("Adjustment", "Adjustment"); objbulk.ColumnMappings.Add("W/O", "WO"); con.Open(); objbulk.WriteToServer(dt); con.Close(); label1.Text = "Uploaded Successfully"; //txtfromdate.Text = ""; //txtToDate.Text = ""; ddlmonth.ClearSelection(); ddlyear.ClearSelection(); } }
Что я уже пробовал:
я не мог найти никакого решения я я ма вызываю мое событие кнопки в загрузке страницы оно не работает должным образом
Karthik_Mahalingam
в чем проблема?
публикуйте только соответствующий код..
kav@94
проблема в том, что до тех пор, пока я не загружу лист успешно в базу данных, я могу отображать сообщения метки пользователю Выберите месяц, выберите год,не действительный документ, выберите файл все эти сообщения я могу отображать, когда пользователь нажимает кнопку, но как только лист загружен, я не могу видеть сообщения об ошибках при нажатии кнопки, но событие нажатия кнопки срабатывает.
kav@94
моя проблема заключается в том, что я должен снова отображать сообщения об ошибках после успешной загрузки листа againg, если пользователь выбирает неверный месяц и год, но как только данные вставлены, сообщение об ошибке не отображается при нажатии кнопки
Karthik_Mahalingam
да, какой смысл выводить какое-либо сообщение об ошибке после успешной загрузки данных ?
вы пробовали нижеприведенное решение?