【发布时间】:2019-08-09 23:55:00
【问题描述】:
我遇到了一个关于从 WPF 应用程序到 SQL 数据库的复选框的问题。
我已经到了可以将特定项目的值更新到数据库中的地步,但我只能更新值或从 0 到 1 或从 1 到 0,我正在搜索 IF 语句类型的事情,我认为我接近解决方案,但代码不起作用并给了我错误
“=”附近有错误
请帮忙。
private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
sqliteCon.Open();
if (sqliteCon.State == System.Data.ConnectionState.Open)
{
var currentRowIndex = dataGrid1.Items.IndexOf(dataGrid1.CurrentItem);//PER IDENTIFICARE LA LINEA CORRENTE
//PROVA5
string q = @"UPDATE tabList
SET selection = (CASE Prova
WHEN tabList.selection.Value = ' 0 '
THEN tabList.selection.Value = ' 1'
ELSE tabList.selection.Value = ' 0 '
END)
WHERE idL = @CURRENT";
SqlCommand cmd = new SqlCommand(q, sqliteCon);
cmd.Parameters.AddWithValue("@CURRENT", currentRowIndex = currentRowIndex + 1);
cmd.ExecuteNonQuery();
MessageBox.Show("Dato Modificato");
}
sqliteCon.Close();
}
【问题讨论】:
-
您可能不希望在查询中将值 0 和 1 用单引号括起来,因为它们是 BIT 值。
-
我在我的数据库中有一个值为 0 的整列,如果我点击相应的复选框,我想将其更改为 1,如果该项目已被选中,我想更改为 0
-
让我们看看我们是否可以让您发布的内容正常工作,然后我们可以看到如何修改您必须满足您的需求。