【发布时间】:2016-09-08 15:49:19
【问题描述】:
我有一个带有 6 个复选框的报告屏幕,这些复选框将告诉报告必须显示哪些列。但是当我检查一些复选框并单击按钮时,没有任何反应。这是我的代码:
connect = new SqlConnection(@"Data Source=LP12;Initial Catalog=SmmsData;Integrated Security=True");
connect.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = connect;
cmd.CommandText = "SELECT DrukSensor, FlowSensor, TempSensor, KwaliteitSensor, Toerental, OlieVerbruik"
+ " FROM SysteemSensorInfo"
+ " WHERE DrukSensor=@DrukSensor"
+ " AND FlowSensor=@FlowSensor"
+ " AND TempSensor=@TempSensor"
+ " AND KwaliteitSensor=@KwaliteitSensor"
+ " AND Toerental=@Toerental"
+ " AND Olieverbruik=@OlieVerbruik"
;
cmd.Parameters.Add("@DrukSensor", SqlDbType.Bit);
cmd.Parameters.Add("@FlowSensor", SqlDbType.Bit);
cmd.Parameters.Add("@TempSensor", SqlDbType.Bit);
cmd.Parameters.Add("@KwaliteitSensor", SqlDbType.Bit);
cmd.Parameters.Add("@Toerental", SqlDbType.Bit);
cmd.Parameters.Add("@OlieVerbruik", SqlDbType.Bit);
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked;
cmd.Parameters["@FlowSensor"].Value = CheckBoxFlow.Checked;
cmd.Parameters["@TempSensor"].Value = CheckBoxTemp.Checked;
cmd.Parameters["@KwaliteitSensor"].Value = CheckKwaliteit.Checked;
cmd.Parameters["@Toerental"].Value = CheckBoxToerenTal.Checked;
cmd.Parameters["@OlieVerbruik"].Value = CheckBoxOlieVerbruik.Checked;
DataSet ds = new DataSet();
new SqlDataAdapter(cmd).Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
GridView1.AutoGenerateColumns = true;
当我排除这部分代码时,它可以正常工作,但复选框不起作用。
+ " WHERE DrukSensor=@DrukSensor"
+ " AND FlowSensor=@FlowSensor"
+ " AND TempSensor=@TempSensor"
+ " AND KwaliteitSensor=@KwaliteitSensor"
+ " AND Toerental=@Toerental"
+ " AND Olieverbruik=@OlieVerbruik"
;
cmd.Parameters.Add("@DrukSensor", SqlDbType.Bit);
cmd.Parameters.Add("@FlowSensor", SqlDbType.Bit);
cmd.Parameters.Add("@TempSensor", SqlDbType.Bit);
cmd.Parameters.Add("@KwaliteitSensor", SqlDbType.Bit);
cmd.Parameters.Add("@Toerental", SqlDbType.Bit);
cmd.Parameters.Add("@OlieVerbruik", SqlDbType.Bit);
cmd.Parameters["@DrukSensor"].Value = CheckBoxDruk.Checked;
cmd.Parameters["@FlowSensor"].Value = CheckBoxFlow.Checked;
cmd.Parameters["@TempSensor"].Value = CheckBoxTemp.Checked;
cmd.Parameters["@KwaliteitSensor"].Value = CheckKwaliteit.Checked;
cmd.Parameters["@Toerental"].Value = CheckBoxToerenTal.Checked;
cmd.Parameters["@OlieVerbruik"].Value = CheckBoxOlieVerbruik.Checked;
我做错了什么或者我可以用更简单的方式解决我的复选框问题吗?
希望你们有答案!
【问题讨论】:
-
你能定义不会工作吗?它会抛出错误吗?你没有得到预期的结果吗?您检查过
CheckBox*.Checked对象的值吗? -
wwont 工作我的意思是屏幕闪烁但不显示任何内容。不幸的是,我没有显示错误。我希望数据网格显示选中的复选框的列。而且我还检查了复选框对象的值,但这对我也没有帮助。
标签: c# sql database checkbox report