我将按钮属性保存到数据库中。当我打开表单时,我想创建一个具有此属性的按钮。 我正在尝试这样的事情。但我没有结果。 我应该使用别的东西吗?
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();
答案 0 :(得分:1)
使用DataReader时,您必须至少调用.Read()
一次,SqlDataReader
和SqlConnection
之类的内容也应该在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
中每行添加一个按钮。