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

关于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条)

报告相同问题?

悬赏问题

  • ¥20 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏