qq_36805380
2016-12-13 11:51
采纳率: 72.7%
浏览 2.1k
已采纳

关于sql语句的多个查询

下面这句话单个分开来都可以实现,然后合在一起后查询,输入身份证号号字段例如123456,但是datagridview直接跳出所有信息了,多次试验发现是模糊查询like %的问题,求教如何解决这个问题(输入姓名或身份证号或姓名的模糊查询均正确跳出信息)?
sqlstr = "select * from 暂住人员信息表 where 身份证号码='" & SelectPop.TextBox1.Text & "'or 姓名='" & SelectPop.TextBox2.Text & "'or 姓名 like '" & SelectPop.TextBox2.Text & "%'"

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • b328361744 2016-12-14 01:00
    已采纳

    String 字符串的拼接问题,如果传递过来是null或""的话sqlstr 就不要拼接这个字段的值。
    sqlstr = “select * from 暂住人员信息表 where”;
    int k = 0;
    if(SelectPop.TextBox1.Text != null && SelectPop.TextBox1.Text . eql("")){
    if(k == 0){
    sqlstr += 身份证号码='" & SelectPop.TextBox1.Text & "'";
    k++;
    } else{
    sqlstr += 身份证号码= 'or '" & SelectPop.TextBox1.Text & "'";
    }

        }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(6条)

相关推荐 更多相似问题