我有一个包含6个复选框的报告屏幕,用于指示报告必须显示哪些列。但当我检查一些复选框并单击按钮时没有任何反应。这是我的代码:
onCreate()
当我排除这部分代码时,它工作正常,但复选框不起作用。
Note: Listening to multiconsumer queues is not supported in the Java API.
我做错了什么或者能否以更简单的方式解决我的复选框问题?
希望你们有答案!
答案 0 :(得分:0)
尝试更改
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked;
为:
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked?1:0;
表示所有checkbox.checked项目。
或(更好)取出所有params.Add并将它们更改为AddWithValue()
cmd.Parameters.AddWithValue("@DrukSensor",CheckBoxDruk.Checked?1:0);
答案 1 :(得分:0)
波多黎各,
数据库对以下字段的数据类型是什么? DrukSensor,流量传感器,TempSensor,KwaliteitSensor,Toerental,OlieVerbruik
如果他们在数据库中使用小的int,那么以下应该可以工作。
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked ? 1 :0;
cmd.Parameters["@FlowSensor"].Value = CheckBoxFlow.Checked ? 1 : 0;
cmd.Parameters["@TempSensor"].Value = CheckBoxTemp.Checked ? 1 :0;
cmd.Parameters["@KwaliteitSensor"].Value = CheckKwaliteit.Checked ? 1:0;
cmd.Parameters["@Toerental"].Value = CheckBoxToerenTal.Checked ? 1 : 0;
cmd.Parameters["@OlieVerbruik"].Value = CheckBoxOlieVerbruik.Checked ? 1: 0;
Checkboxes.Checked是一个布尔值。如果您的字段以db格式存储在db中,那么您需要弄清楚如何在参数中指定该值。
cmd.Paramters[@DrukSensor"].Value = CheckBoxDruk.Checked ? "true" : "false";
或其他一些。
希望这有帮助。
答案 2 :(得分:0)
更改
D
到
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked;
或
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.CheckState;
查看this以获取有关CheckBox.CheckState属性的信息。