从Sql创建动态按钮

时间:2016-05-01 14:58:53

标签: c# sql

我将按钮属性保存到数据库中。当我打开表单时,我想创建一个具有此属性的按钮。 我正在尝试这样的事情。但我没有结果。 我应该使用别的东西吗?

SqlCommand command = new SqlCommand("select * from button_properties", con);
con.Open();
SqlDataReader read = command.ExecuteReader();
Button dynamicButton = new Button();

dynamicButton.Height = (read["height"].ToString());
dynamicButton.Width = (read["width"].ToString());
dynamicButton.Text = (read["text"].ToString());
dynamicButton.Name = (read["name"].ToString());
dynamicButton.Location = new Point(20, 150);

Controls.Add(dynamicButton);

read.Close(); 

1 个答案:

答案 0 :(得分:1)

使用DataReader时,您必须至少调用.Read()一次,SqlDataReaderSqlConnection之类的内容也应该在using语句中。

SqlCommand command = new SqlCommand("select * from button_properties", con);
con.Open();
using(SqlDataReader read = command.ExecuteReader())
{
    while(read.Read())
    {
        Button dynamicButton = new Button();

        dynamicButton.Height = (int)read["height"];
        dynamicButton.Width = (int)read["width"];
        dynamicButton.Text = read["text"].ToString();
        dynamicButton.Name = read["name"].ToString();
        dynamicButton.Location = new Point(20, 150);

        Controls.Add(dynamicButton);
    }
}

现在代码将在button_properties中每行添加一个按钮。