c# checkbox选择查询

比如,选中checkbox1,checkbox3,查询后出现这两项的结果,现在我的代码无法实现,用and只能出现一个,用or会出现所有结果。{OleDbConnectio... 比如,选中checkbox1,checkbox3,查询后出现这两项的结果,现在我的代码无法实现,用and只能出现一个,用or会出现所有结果。

{
OleDbConnection myCon = new OleDbConnection(Conn);
string myStr1 = "select * from shelf where 1=1 ";
if (this.checkBox1.Checked == true)
myStr1 += " or id = 101 ";
else if (this.checkBox2.Checked == true)
myStr1 += " or id = 102 ";
else if (this.checkBox3.Checked == true)
myStr1 += " or id = 103 ";
OleDbDataAdapter myAda = new OleDbDataAdapter(myStr1, myCon); //在连接好的数据库中打开已连接的表
DataSet mySet = new DataSet(); //声明一个记录集
myAda.Fill(mySet, "db"); //将表中读取到的数据填充到记录集中,并取名为db
dataGridView1.DataSource = mySet; //设定显示控件的数据源
dataGridView1.DataMember = "db"; //将表格db的内容绑定到显示控件
}
代码里没有else 粘错了
一样运行的不对
展开
 我来答
kcxnvbdbd
2015-08-07 · TA获得超过523个赞
知道小有建树答主
回答量:885
采纳率:50%
帮助的人:619万
展开全部
你这多个checkbox意味着是多选复合查询,那么你首先要搞清楚你多个条件是 交集(and) 还是并集(or),再决定在代码里面是用and还是or;其次,复合条件判断里面,不要else 结构
更多追问追答
追问
是or 代码粘错了,没有else,不管选几个,都查出来全部的
追答
where 1=1 这个条件去掉,有了1=1,你后面是什么条件都不会起作用了
like独家记忆
2015-08-07 · 超过63用户采纳过TA的回答
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:70.3万
展开全部
是查询数据库的,那么多的复选框,当选中时,SQL语句的条件就不一样,很好查啊,出不来就是你的代码有问题,仔细再看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式