【发布时间】:2018-07-04 18:02:08
【问题描述】:
好的,这是对这个问题的新编辑,正如您将在下面的代码中看到的那样,我制作它以便我遍历每个项目,然后它应该获取每个项目的已检查和未检查值,然后保存它们在我的 MySql 数据库中,但是,我保存它的那一刻确实保存了,但所有项目都保存在 boolean true 中,而不是我分配的布尔值,它应该是 布尔值强>。 这意味着如果检查了一个项目,则布尔值应该为真,而未检查一个项目,布尔值应该为假,并且应该被保存,但是......好吧,它将 一切 保存为真. 我该如何解决我遇到的这个问题?
private void SbtnGuarda_Click(object sender, EventArgs e)
{
try
{
String id = txtId.Text.Trim();
for (int i = 0; i < CLBCpermits.ItemCount; i++)
{
object Row = CLBCpermits.GetItem(i);
DataRowView rew = Row as DataRowView;
Boolean value = Convert.ToBoolean(CLBCpermits.GetItemCheckState((int)rew["SecOptionId"] - 1));
int opti = (int)rew["SecOptionId"];
string qry = string.Format("INSERT INTO TblSecProfile (Id, OptActive, SecOptionId) VALUES ('{0}', '{1}', '{2}');", id, value, opti);
using (MySqlConnection conn = new MySqlConnection(Global.ConnectionStringMySql))
{
conn.Open();
using (MySqlCommand comm = new MySqlCommand(qry, conn))
{
comm.ExecuteNonQuery();
}
conn.Close();
}
}
XtraMessageBox.Show("Permits assigned to profile", "Process Finished", MessageBoxButtons.OK, MessageBoxIcon.Information);
SbtnGuarda.Enabled = false;
SbtnActualiza.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error while giving permits", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
非常感谢任何帮助,并感谢您第四次编辑这篇文章。
【问题讨论】:
-
这一定意味着
value总是正确的。OptActive是数据库中的BIT吗? -
是的,它是数据库中的
BIT,但是值怎么可能总是正确的呢?如果我说它必须获取项目的值是否被选中,感谢GetItemCheckState
标签: c# mysql devexpress checkedlistbox