gpt4 book ai didi

C# MySQL 多行结果到组合框

转载 作者:行者123 更新时间:2023-11-30 00:47:26 36 4
gpt4 key购买 nike

我有 5 个组合框、5 个文本框和 5 个 numericUpDown,我需要用多行查询的数据填充它们。

查询结果为:

clave   descr                             canti
ABR002 ABRAZADERA DE RIEL UNICANAL 1" 1
ABR003 ABRAZADERA DE RIEL UNICANAL 1/2" 2
ABR004 ABRAZADERA DE RIEL UNICANAL 3/4" 3
ABR005 ABRAZADERA PARA TUBING 18 CM 4
ABR006 ABRAZADERA DE RIEL UNICANAL 2 1/2" 5

我用于从查询行检索数据的代码是:

try
{
MySqlCommand cmdc = new MySqlCommand("select clave, descr, canti from notaspd where folio = '" + comboBox6.Text + "';", conn);
MySqlDataAdapter dataadapc = new MySqlDataAdapter(cmdc);
System.Data.DataTable datatabc = new System.Data.DataTable();
dataadapc.Fill(datatabc);

foreach (DataRow row in datatabc.Rows)
{
rows = string.Format("{0}", row.ItemArray[0]);
comboBox1.Text = rows;
rows = string.Format("{0}", row.ItemArray[1]);
textBox3.Text = rows;
rows = string.Format("{0}", row.ItemArray[2]);
numericUpDown1.Value = Convert.ToDecimal(rows);
}
}

但是如果我这样做,所有的组合框、文本框和 nUD 都会填充最后一行,给我类似的内容:

ABR006  ABRAZADERA DE RIEL UNICANAL 2 1/2"  5
ABR006 ABRAZADERA DE RIEL UNICANAL 2 1/2" 5
ABR006 ABRAZADERA DE RIEL UNICANAL 2 1/2" 5
ABR006 ABRAZADERA DE RIEL UNICANAL 2 1/2" 5
ABR006 ABRAZADERA DE RIEL UNICANAL 2 1/2" 5

我理解这是因为 foreach 循环一直到最后一个结果并覆盖了最后一个结果。如何修改 foreach 使其仅返回 n 行结果?

我希望我已经说清楚了。

最佳答案

现在已经很晚了,如果我遗漏了什么,请原谅我!

您将每个单独的单元格存储在单独的控件中,那么为什么不直接访问 DataTable 中的每个单元格并设置适当的控件呢?

comboBox1.Text = Convert.ToString(datatabc.Rows[0][0]);
...
comboBox5.Text = Convert.ToString(datatabc.Rows[4][0]);

textBox1.Text = Convert.ToString(datatabc.Rows[0][1]);
...
textBox5.Text = Convert.ToString(datatabc.Rows[4][1]);

numericUpDown1.Value = Convert.ToDecimal(datatabc.Rows[0][2]);
...
numericUpDown5.Value = Convert.ToDecimal(datatabc.Rows[4][2]);

我只是看不出在这里使用 foreach 循环的原因。

关于C# MySQL 多行结果到组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21247646/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com