linq to sql选择特定的单元格

时间:2015-05-24 11:39:27

标签: c# winforms linq linq-to-sql

我正在使用本地数据库和linq来执行项目。

它是第一个获得该模型的产品型号和数量的获胜形式。

之后,用户必须在表单中选择模型,然后开始插入序列号(等于数量)。

我的问题是我希望用户选择型号ID并获得数量编号,以便我可以将其用于带序列号的循环。

我想使用列数量作为计数器。 我将此列设计为int,但我无法使用它。

它不会通过此代码发生:

    private void Serials_Load(object sender, EventArgs e)
    {
        comboBox1.DataSource = show.linqpros;
    }
    DataClassesDataContext show = new DataClassesDataContext(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\product.mdf;Integrated Security=True;Connect Timeout=30");
    linqpro serial = new linqpro();

    private void addSerial_Click(object sender, EventArgs e)
    {



        var count = 1;
        string selected = comboBox1.Text;
        var query = from q in show.linqpros where (selected==serial.ModelID) select serial.Quantity;
        count = Convert.ToInt32(query);
        for (int i = 1; i >= count; i++)
        {
            string best = selected;
             addserial addserial = new addserial(best);
             addserial.ShowDialog();
        }
    }

这是我的表:

enter image description here

这是错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

你自己投了查询。这不是一个数字,因为你使用的是where子句,它可能导致多行。

如果您需要出现次数

,您需要获取查询计数

替换

count = Convert.ToInt32(query);

count = Convert.ToInt32(query.Count());

但是,更好地阅读问题,似乎您需要修改您的查询以仅返回所选行的数量:

var query = from q in show.linqpros where (selected==serial.ModelID) select serial.Quantity;

进入某个行

show.Linqpros.Single(s=>s.ModelID == selected).Quantity