我正在尝试创建从数据库生成的问题的动态列表。
我用文本框和复选框列出了我的问题,我希望在选中复选框时将文本框中的文本写入单独的表中的数据库。
我可以将问题写入数据库,但文本框中没有答案。
下面的代码生成我的列表。
com = new OleDbCommand("SELECT [Task] FROM Debrief_Tasks WHERE [Current] = TRUE AND [Group] = 4", Program.DB_CONNECTION);
datareader = com.ExecuteReader();
int e = 1;
while (datareader.Read())
{
try
{
string Task = datareader.GetString(0);
Label taskLable = new Label();
taskLable.Text = Task;
taskLable.AutoSize = true;
taskLable.Anchor = AnchorStyles.Left;
TextBox nameTextBox = new TextBox();
nameTextBox.Name = ToString();
nameTextBox.AutoSize = true;
nameTextBox.Anchor = AnchorStyles.None;
nameTextBox.Padding = new Padding(1);
nameTextBoxes.Add(nameTextBox);
CheckBox completeCheckBox = new CheckBox();
completeCheckBox.Name = Task.ToString();
completeCheckBox.AutoSize = true;
completeCheckBox.Anchor = AnchorStyles.None;
completeCheckBox.CheckAlign = ContentAlignment.MiddleCenter;
completeCheckBox.Padding = new Padding(1);
completeCheckBox.CheckedChanged += new EventHandler(completeCheckBox_CheckedChanged);
completeCheckBoxes.Add(completeCheckBox);
tableLayoutPanel5.RowCount = e + 2;
tableLayoutPanel5.Controls.Add(taskLable, 0, e + 1);
tableLayoutPanel5.Controls.Add(nameTextBox, 1, e + 1);
tableLayoutPanel5.Controls.Add(completeCheckBox, 2, e + 1);
i++;
}
catch
{
}
}
}
}
}
}
void completeCheckBox_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
if (checkBox.Checked)
{
OleDbCommand com = new OleDbCommand("INSERT INTO Debrief ([Debrief_Date], [Task], [DoneName]) VALUES (?, ?, ?)", Program.DB_CONNECTION);
com.Parameters.Add(new OleDbParameter("", DateTime.Today.Date));
com.Parameters.Add(new OleDbParameter("", Convert.ToString(checkBox.Name)));
com.Parameters.Add(new OleDbParameter("", ***Convert.ToString(checkBox.Name***)));
OleDbDataReader datareader = com.ExecuteReader();
}
else
{
}
}
我知道我的最后一个 sql 输入与另一个相同,但这是我让它运行的唯一方法。
任何想法如何将相关文本框链接到复选框。