这里我将大量数据放在超过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,性别,空值等的验证
答案 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
}
}
}
}