根据数据表Epplus C#中的data列从SQL Server检索数据

时间:2019-01-28 03:30:38

标签: c# sql-server epplus

我的程序能够使用epplus C#将excel读取到数据表中,并且有一个带有数据的条形码列。我需要根据条形码列中的数据从SQL Server添加和获取bookcode数据列。 SQL查询如何从条形码列获取每个单元格数据行?我很困惑按列或行获取数据。

到目前为止,我设法获得了SQL Server连接和1本书的代码。我认为我必须循环执行以获取所有条形码列数据的所有书籍代码,但是我不确定编码和SQL连接的顺序。我相信我几乎可以得到它,希望你们能为我提供帮助,因为这是我在C#中的第一个项目:)

public void filldatagridview(ExcelWorksheet workSheet)
{
    DataTable dt = new DataTable();

    // Create the data column
    for (int col = workSheet.Dimension.Start.Column; col <= workSheet.Dimension.End.Column; col++)
    {
        dt.Columns.Add(col.ToString());
    }

    // for (int row = workSheet.Dimension.Start.Row; row <= workSheet.Dimension.End.Row; row++)
    for (int row = 12; row <= 26; row++)
    {
        DataRow newRow = dt.NewRow(); //Create a row
        int i = 0;

        for (int col = workSheet.Dimension.Start.Column; col <= workSheet.Dimension.End.Column; col++)
        {
            newRow[i++] = workSheet.Cells[row, col].Text;
        }

        dt.Rows.Add(newRow);
    }

    dt.Columns.RemoveAt(0); //remove No 
    dt.Columns.RemoveAt(0); //remove article

    //Get BookCode
    SqlConnection conn = new SqlConnection("Server=10.0.0.10;Database=;UserID=;Trusted_Connection=False");

    string query = "SELECT BookCode FROM Inventory WHERE Barcode='" + dt.Rows[1]["3"].ToString().Trim() + "'"; //3 is column for barcode            

    // looping logic here?
    for (int i = 0; i < dt.Rows.Count; i++)
    {
    } 

    SqlCommand cmd = new SqlCommand(query, conn);
    conn.Open();

    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);

    dataGridView2.DataSource = dt;

    conn.Close();
    da.Dispose();
}

已更新:

如下图所示,能够基于“ 3”中的条形码列从sql server中获取数据:

enter image description here

目前我在BOOKCODE列中从数据库收到的订单面临问题。应该在哪里出现如下图所示:

enter image description here

0 个答案:

没有答案