发布网友
共2个回答
热心网友
新手,我就多说几句,让你这个问题问的值。
简单的sql语法问题:
1 textbox1为空, like '%%' 这个条件还是可以用的,就是搜索任何的(如果你这个名为datetime字段的类型允许用like搜的话)
2 而textbox2为空的话, and userid=后面就没了,这是一个错误的sql语句,执行就会出错,能搜出记录来才怪
解决办法:
首先,要根据textbox是否为空,来动态组合出sql语句字符串,比如,如果textbox1没填,那where后面就不加datetime like...这个条件了,如果两个textbox都没填,那就没有where和之后的了
其次,你要对textbox的内容进行检测后再拼接执行。这个太重要了。
否则,假设你的数据库是sqlserver,那我如果在textbox2里写上:
1;delete from list
那你的这个list表就被清空了,如果我更狠一点,干脆删表呢?甚至如果连接这个数据库的用户权限很高,直接调用系统存储过程运行系统命令,把你硬盘给格式化了,你怎么办?
热心网友
在textbox2.text右边少写了个% ,