Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET中使用OLEDB仅提取第一列作为指定约束(字符串)的特定行?_C#_Asp.net_Excel_Oledb - Fatal编程技术网

C# 如何在ASP.NET中使用OLEDB仅提取第一列作为指定约束(字符串)的特定行?

C# 如何在ASP.NET中使用OLEDB仅提取第一列作为指定约束(字符串)的特定行?,c#,asp.net,excel,oledb,C#,Asp.net,Excel,Oledb,我有一张excel表格,上面列出了在特定门厅票号的6个科目中获得的分数 我一直在使用网页的C#Codebehind文件中的OLEDB,并使用DataTable存储记录。但我无法解决这个问题,如何只提取第一列与特定字符串匹配的行。我已尝试使用以下代码: OleDbConnection ExConn = new OleDbConnection(constr); OleDbCommand Comm = new OleDbCommand(); OleDbD

我有一张excel表格,上面列出了在特定门厅票号的6个科目中获得的分数

我一直在使用网页的C#Codebehind文件中的OLEDB,并使用DataTable存储记录。但我无法解决这个问题,如何只提取第一列与特定字符串匹配的行。我已尝试使用以下代码:

        OleDbConnection ExConn = new OleDbConnection(constr);
        OleDbCommand Comm = new OleDbCommand();
        OleDbDataAdapter ODAdapter = new OleDbDataAdapter();

        DataTable DTable = new DataTable();
        Comm.Connection = ExConn;

        ExConn.Open();
        DataTable ExSchema = ExConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
        string Sheet = ExSchema.Rows[0]["TABLE_NAME"].ToString();
        ExConn.Close();

        ExConn.Open();
        Comm.CommandText = "SELECT * FROM ["+Sheet+"] where [A] = '155U1A05A0'";
        ODAdapter.SelectCommand = Comm;
        ODAdapter.Fill(DTable);
        ExConn.Close();
有没有办法只将那些条件为真的行放入数据表?或者至少从数据表中提取这些行?
(我个人怀疑问题出在CommandText上。我确实尝试了各种方法,如A*、A%,但无法解决问题)。

您的叙述表明您在错误的位置使用了通配符,并且使用了错误的运算符。请尝试
其中[A]类似于“155U1A05A0*”
否,我实际上打算使用*替换行号,行号可以是从1到结尾的任何数字。谢谢。如果不设置任何条件,您是否能够从excel工作表到数据表中获取正确的数据?我这样问是因为我看到除了结果数据之外,表格中还有一些其他数据。是的,我能够在网页上以表格的形式在GridView中获得完整的excel表格内容。谢谢