0

我正在为许多不同的测试用例创建一个测试用例,每个测试用例都有它的 ID,我正在尝试从 excel 中读取测试数据......

这是我的 excel 表的布局,不知道如何提出正确的设计

测试用例

这是我正在阅读的代码:

string connectionString = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
    string testCaseName = "case_1";
    string query = "SELECT * from [Sheet1$] WHERE test_case_id =\"" + testCaseName + "\"";
    DataTable dt = new DataTable();

    using (OleDbConnection conn = new OleDbConnection(connectionString))
    {
        conn.Open();

        using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, conn))
        {
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds);
            dt = ds.Tables[0];
        }

        conn.Close();
    }

问题:

工作test_case_id == 001_test正常没有任何问题

但是如果通过了,test_case_id = 0059_test那么我将获得相同的数据,test_case_id但我0059_test没有得到正确的标题名称,我正在获取标题test_case_id 001_test

我的问题:如何获取特定的标题test_case_id(intro_text,api_text ...._?

4

1 回答 1

0

默认情况下,第一行作为标题行。您需要在查询中指定标题行。

例如:对于test_case_id 0059_test 标题行号是 3那么你必须编写如下查询:

string query = "SELECT * from [Sheet1$A3:C] WHERE test_case_id = \"" + testCaseName + "\"";

其中 A3 是第一个列标题,C 是最后一个数据列。

于 2013-11-15T11:20:30.360 回答