如何使用 C# 从 DataGridView 中选择应用“where”

问题描述 投票:0回答:1

我正在使用 Microsoft Visual Studio,并且 DataGridView 中有“Box Number”列,如下所示:

箱号
4433002
4433006
4433011

我想执行如下 SQL 查询:

“从表中选择注释,其中 BOX_NUMBER 位于 (DataGridView_List)”

我试过这个:

“从表中选择注释,其中 BOX_NUMBER IN '” + dataGridView4.SelectAll() + “'”;

但是仍然有错误。

c# sql list datagridview
1个回答
0
投票

SelectAll 方法还执行其他操作。此方法选择所有单元格。 您应该使用类似于以下代码的代码来读取值 需要注意的是,您的 SQL 查询中也需要括号,这是我在 GetBoxNumbersAsString 方法中添加的。

    private string GetBoxNumbersAsString(bool IncludeParentheses = true)
    {
        var BoxNumbers = GetListOfCellValues(0);
        var BoxNumbersAsString = string.Join(", ", BoxNumbers);
        if (IncludeParentheses)
            BoxNumbersAsString = "(" + BoxNumbersAsString + ")";
        return BoxNumbersAsString;
    }
    private List<int> GetListOfCellValues(int ColumnIndex = 0)
    {
        var ListOfCellValues = new List<int>();
        foreach (DataGridViewRow Row in dataGridView1.Rows)
        {
            var Value = Row.Cells[ColumnIndex].Value;
            if (Value != null) 
                // The last row may be empty in edit mode!
                ListOfCellValues.Add(int.Parse(Value.ToString()));
        }
        return ListOfCellValues;
    }

您的 SQL 查询应如下所示:

“从表中选择注释,其中 BOX_NUMBER IN ” + GetBoxNumbersAsString(true)

© www.soinside.com 2019 - 2024. All rights reserved.