在数据表中验证

时间:2016-10-01 10:13:45

标签: c# asp.net excel validation oledbdataadapter

这里我将大量数据放在超过5000+的表中

  using (OleDbConnection excel_con = new OleDbConnection(conString))
        {
            excel_con.Open();
            string sheet1 = excel_con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[0]["TABLE_NAME"].ToString();
            DataTable dtExcelData = new DataTable();





            dtExcelData.Columns.AddRange(new DataColumn[10] {

//this are my columns of records

            new DataColumn("Employee Code",typeof(string)),
            new DataColumn("Employee Type", typeof(int)),
            new DataColumn("First Name", typeof(string)),
            new DataColumn("Last Name", typeof(string)),
            new DataColumn("Gender",typeof(string)),
            new DataColumn("Email ID", typeof(string)),
            new DataColumn("Mobile No#", typeof(string)),
            new DataColumn("Current Address", typeof(string)),
            new DataColumn("Permanent Address", typeof(string)),
            new DataColumn("Status",typeof(string))
        }
            );


            using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con))
            {
                oda.Fill(dtExcelData);


            }
            excel_con.Close();

现在插入之前或插入数据表之后 我想检查移动号码,电子邮件ID,性别,空值等的验证

3 个答案:

答案 0 :(得分:1)

我们可以在插入数据之前对其进行验证。如果bool为true,请继续插入其他数据。

         public bool ValidateData(DataTable dtData)
            {
                bool isValid = true;
                try
                {

                    for (int i = 0; i < dtData.Rows.Count; i++)
                    {
                        string MANDATE_DATE = Convert.ToString(dtData.Rows[i]["MANDATE_DATE"]);
                        //string SPONSOR_BANK_CODE = Convert.ToString(dtData.Rows[i]["SPONSOR_BANK_CODE"]);
                        //string UTILITY_BILLER_COMPANY_BANK = Convert.ToString(dtData.Rows[i]["UTILITY_BILLER_COMPANY_BANK"]);
                        //string ACTION = Convert.ToString(dtData.Rows[i]["ACTION"]);
                        string AC_TYPE = Convert.ToString(dtData.Rows[i]["AC_TYPE"]);
                        string LEGAL_ACCOUNT_NUMBER = Convert.ToString(dtData.Rows[i]["LEGAL_ACCOUNT_NUMBER"]);
                        string DESTINATION_BANK_BRANCH = Convert.ToString(dtData.Rows[i]["DESTINATION_BANK_BRANCH"]);
                        string MICR_CODE = Convert.ToString(dtData.Rows[i]["MICR_CODE"]);
                        //string IFSC_CODE = Convert.ToString(dtData.Rows[i]["IFSC_CODE"]);
                        string DEBIT_MAXAMT = Convert.ToString(dtData.Rows[i]["DEBIT_MAXAMT"]);
                        string CUSTOMER_REFERENCE = Convert.ToString(dtData.Rows[i]["CUSTOMER_REFERENCE"]);
                        string CUSTOMER_FRQCY = Convert.ToString(dtData.Rows[i]["CUSTOMER_FRQCY"]);
                        string START_DATE = Convert.ToString(dtData.Rows[i]["START_DATE"]);
                        // string END_DATE = dtData.Rows[i]["Mobile No#"]);
                        string CUSTOMER_NAME = Convert.ToString(dtData.Rows[i]["CUSTOMER_NAME"]);

                        if (MANDATE_DATE == "" || AC_TYPE == "" || LEGAL_ACCOUNT_NUMBER == "" || DESTINATION_BANK_BRANCH == "" || MICR_CODE == "" || DEBIT_MAXAMT == "" || CUSTOMER_REFERENCE == "" || CUSTOMER_FRQCY == "" || START_DATE == "" || CUSTOMER_NAME == "")
                        {
                            SchedulerErrorLog_("Mandatory field is blank", "Function: testTimer_Elapsed (ValidateData)");
                            //ErrorLog(product_Name, path, "Failure", "File name  " + path + " Data is not validate.", "");
                            return isValid = false;
                        }
                    }

                    if (!isValid)
                    {
                        //dtExport = dtData.Copy();`enter code here`
                    }
                }
                catch (Exception ex)
                {
                    SchedulerErrorLog_(ex.Message.ToString(), ex.StackTrace.ToString());
                    //ErrorLog(product_Name, path, "Failure", "File name  " + path + " Data is not validate." + ex.ToString() + "", "");
                    throw ex;
                }
                return isValid;
            }

答案 1 :(得分:0)

使用通过DataTable引用初始化的DataView类。 将过滤器选项写入DataView。

答案 2 :(得分:0)

我认为您应该使用此代码

 using (OleDbDataAdapter oda = new OleDbDataAdapter("SELECT * FROM [" + sheet1 + "]", excel_con))
            {
                oda.Fill(dtExcelData);
              if(dtExcelData.rows.count<0)
               {
               for(int i=0;i<dtExcelData.rows.count;i++)
                {
                  string mobno=dtExcelData.rows[i]["Mobile No#"].tostring();
                    if(mobno=="")
                     {
                       //code here 
                         }
                  }
                }

            }