如何通过遍历行从DataTable中检索数据

时间:2017-12-01 16:12:40

标签: c# mysql winforms

我想把它放到循环中,代码工作正常 但我不能为它做一个循环。 当它在表上检测到新数据时,它会自动添加 另一个项目,在我的代码下面它只显示两个用户控件,但我需要生成表中的所有值。 这是代码

public partial class Form1 : Form
{
    MySqlConnection connection = new MySqlConnection("datasource=localhost;port=3306;database=rmsdb;username=root;password=");
    MySqlCommand command;
    MySqlDataAdapter da;
    public Form1()
    {
        InitializeComponent();
        LRNincrement();

    }
    int poss = 10;
    public void AddItems(string Text, bool Checked)
    {
        DynaItems item = new DynamicUserControl.DynaItems(Text, Checked);
        PanelContainer.Controls.Add(item);
        item.Top = poss;
        poss = (item.Top + item.Height + 10);
    }

    private void additembtn_Click(object sender, EventArgs e)
    {
        LRNincrement();
        txt.Text = "";
    }
    private void LRNincrement()
    {
        String selectQuery = "SELECT lrnnumber from rmsdb.studentstable";
        command = new MySqlCommand(selectQuery, connection);

        da = new MySqlDataAdapter(command);

        DataTable table = new DataTable();

        da.Fill(table);
        if (table.Rows.Count > 0)
        {
            string trylol = table.Rows[0][0].ToString();
            AddItems(trylol, true);
        }
        if (table.Rows.Count > 1)
        {
            string trylol1 = table.Rows[1][0].ToString();
            AddItems(trylol1, true);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

替换下面的代码

        {
            string trylol = table.Rows[0][0].ToString();
            AddItems(trylol, true);
        }
        if (table.Rows.Count > 1)
        {
            string trylol1 = table.Rows[1][0].ToString();
            AddItems(trylol1, true);
        }

    string itemName = string.Empty;

    for(int i = 0; i< table.Rows.Count; i++)
    {
       itemName = table.Rows[i][0].ToString();
       AddItems(itemName, true);
    }

我无法测试此代码。但希望这有助于您找到解决方案。