【发布时间】:2019-04-01 11:04:37
【问题描述】:
我有一个位(布尔)类型的 SQL 列,我可以从显示这些复选框的数据网格中选中或取消选中我选择的一些项目。现在我想要一个复选框来选择或取消选择数据网格中的所有复选框。我已经找到了这个代码:
private void Chk_All_Checked(object sender, RoutedEventArgs e)
{
sqliteCon.Open();
if (sqliteCon.State == System.Data.ConnectionState.Open)
{
CORRENTE
string q = @"UPDATE tabL
SET selection = (CASE
WHEN (SELECT selection FROM tabL ) = 0
THEN 1
ELSE 0
END)
WHERE ?????????????????????";
SqlCommand cmd = new SqlCommand(q, sqliteCon);
cmd.ExecuteNonQuery();
MessageBox.Show("All Items Checked");
}
sqliteCon.Close();
}
“WHERE idL=@CURRENT”是错误的
这是另一个尝试,但效果不佳:
private void Chk_All_Checked(object sender, RoutedEventArgs e)
{
sqliteCon.Open();
if (sqliteCon.State == System.Data.ConnectionState.Open)
{
string q = @"UPDATE tabL
SET selection = 1";
SqlCommand cmd = new SqlCommand(q, sqliteCon);
cmd.ExecuteNonQuery();
MessageBox.Show("All Items Checked");
string q2 = @"UPDATE tabL
SET selection = 0";
SqlCommand cmd2 = new SqlCommand(q2, sqliteCon);
cmd2.ExecuteNonQuery();
MessageBox.Show("All Items DeChecked");
}
sqliteCon.Close();
}
【问题讨论】:
-
您永远不会将
@CURRENT参数添加到您的SQL 语句中。 -
我不需要知道@CURRENT行的确切位置,因为我必须选中或取消选中所有这些,将它们全部设置为0或全部设置为1
-
我想你误会了。你 need to add a SqlParameter 给命令。
-
我知道但知道要添加哪些参数
-
只有一个复选框,如果选中,则将表“tabList”的所有列“选择”设置为 1,如果未选中,则设置为 0,有什么不清楚的地方?抱歉,我不明白这个问题