【发布时间】:2020-08-31 23:17:50
【问题描述】:
我想为每个复选框在数据库表中插入值(如果选中则为 1,未选中则为 0)。
我把所有的复选框都放在一个分组框中。
我希望有一种方法可以通过循环来完成,因为我有很多复选框
SqlConnection conn = new SqlConnection(@"Data Source =.\SQLEXPRESS; Initial Catalog = sales_sys;
Integrated Security = True");
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = /* insert sql statement*/ ;
int x =0;
DataTable tbl = new DataTable();
tbl.Clear();
tbl.Columns.Add("value");
foreach (Control c in groupBox1.Controls)
{
if (c is CheckBox)
{
CheckBox cb = (CheckBox)c;
if (cb.Checked == false)
{ x = 0 ;}
else
{ x = 1;}
tbl.Rows.Add(1);
int index = tbl.rows.count - 1;
tbl.rows[index][0] = x;
}
conn.Open();
tb.Load(cmd.ExecuteReader());
conn.Close();
我想将日期插入数据库表中的一行,如下所示
-
(第一个数据表行 = 第二个数据库表列)
-
(第二个数据表行 = 第三个数据库表列)
-
(第三个数据表行 = 第四个数据库表列)
我确保表格的行数等于复选框的数量
以及如何对所有第一行列执行如下相反的过程。
- 如果表中的第二列是 1,则将第一个复选框更改为选中
- 如果表格中的第二列为 0,则将第一个复选框更改为未选中
一直持续到列的末尾。
【问题讨论】:
-
您的复选框是否使用
checkedlistbox? -
不..我在
groubox中使用普通checkbox..如果这是最简单的方法,我可以将其更改为checklistbox..
标签: c# visual-studio-2010 sql-server-express