C# 如何在C中根据ID对数据表项进行排序?
我不熟悉C和SQL,我使用的是windows窗体 如屏幕截图所示,我正在将项目保存到SQL表中,然后读取它们以在flowLayoutPanel中创建按钮。下面的代码工作正常,但问题是:当我读取这些项并将它们添加到flowLayoutPanel时,它们被添加到DataTable unsorted中 有人知道如何将按钮项添加到flowLayoutPanel并根据其ID重新排序吗?我的意思是我想将它们添加到flowLayoutPanel中,作为:Item1、Item2、Item3、Item4 多谢各位C# 如何在C中根据ID对数据表项进行排序?,c#,sql,C#,Sql,我不熟悉C和SQL,我使用的是windows窗体 如屏幕截图所示,我正在将项目保存到SQL表中,然后读取它们以在flowLayoutPanel中创建按钮。下面的代码工作正常,但问题是:当我读取这些项并将它们添加到flowLayoutPanel时,它们被添加到DataTable unsorted中 有人知道如何将按钮项添加到flowLayoutPanel并根据其ID重新排序吗?我的意思是我想将它们添加到flowLayoutPanel中,作为:Item1、Item2、Item3、Item4 多谢各位
SqlConnection MyConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
SqlCommand MyCommand = new SqlCommand();
DataTable DataTable = new DataTable();
SqlDataAdapter Sql_Data_Adapter = new SqlDataAdapter();
DataTable.Rows.Clear();
DataTable.Columns.Clear();
MyConnection.Open();
MyCommand.CommandText = "SELECT * FROM Table_Items";
MyCommand.Connection = MyConnection;
Sql_Data_Adapter.SelectCommand = MyCommand;
Sql_Data_Adapter.Fill(DataTable);
MyCommand.Parameters.Clear();
Sql_Data_Adapter.Dispose();
MyConnection.Close();
int RowIndex = DataTable.Rows.Count - 1;
for (int i = 0; i <= RowIndex; i++)
{
// create buttons
Button btn = new Button();
btn.Text = DataTable.Rows[i]"Item_Name"].ToString();
btn.Name = DataTable.Rows[i]["Item_Name"].ToString();
flowLayoutPanel1.Controls.Add(btn);
}
将SQL查询更改为-
SELECT * FROM Table_Items ORDER BY Id
最简单的方法可能是:从表中选择*按ID排序;将查询更改为按项目名称从表项目顺序中选择*。@Crowcoder说,或者在DB查询中排序。@Crowcoder。像魔术一样工作:。感谢you@Chetan兰帕里亚。也谢谢你。