我的程序能够使用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中获取数据:
目前我在BOOKCODE列中从数据库收到的订单面临问题。应该在哪里出现如下图所示: