Я использую приведенный ниже оператор выбора, чтобы взять данные из Excel и поместить их в таблицу данных.Там есть плохая строка, которую я не хочу поднимать, поэтому эта часть [Plan] <> 'PLAN_BO', однако, не работает с двумя другими операторами OR.[План] должен быть столбцом даты и времени, но есть дополнительная строка с текстом.
Комбинация [План] <> 'PLAN_BO' или [План] - пустая работа вместе, но не три вместе.
comm.CommandText = "Select Category, [Project ID], Package, [Design ID], LLW, Bldg, School, [Project Description], [Doc Avail], [Plan] from [ca_rpt$] where [Plan] <> 'PLAN_BO' or [Plan] is null or [Plan] >= DATE() order by Category, [Project ID], Package, [Design ID], LLW";
Есть ли способ сместить первую строку, потому что это плохая строка, но это не заголовки столбцов.Я попытался сместить 1 строку в конце утверждения, но это не сработало.
Редактировать: Текущее состояние
(ISDATE ([План вскрытия конвертов]) и [План вскрытия конвертов]> = DATE ()) или [План вскрытия конвертов] равен нулю
[Bid Open Plan]> = DATE () игнорируется.
using (OleDbConnection conn = new OleDbConnection())
{
System.Data.DataTable dt = new System.Data.DataTable();
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'";
using (OleDbCommand comm = new OleDbCommand())
{
comm.CommandText = "Select Category, [Project ID], Package, [Design ID], LLW, Bldg, School, [Project Description], [Pkg#], [Doc Available], [Bid Open Plan] from(Select Category, [Project ID], Package, [Design ID], LLW, Bldg, School, [Project Description], [Pkg#], [Doc Available], [Bid Open Plan] from [ca_rpt$] where ISDATE([Bid Open Plan]) or [Bid Open Plan] is null) Where [Bid Open Plan] >= DATE() order by Mincat, Minse, [Pkg#], [Project ID], Package, [Design ID], LLW";
comm.Connection = conn;
using (OleDbDataAdapter da = new OleDbDataAdapter())
{
da.SelectCommand = comm;
da.Fill(dt);