数据库操作时对用户输入的非法字符进行约束
本帖最后由 pvlking 于 2012-12-29 10:28:27 编辑 如题,在对数据库操作时,有用户输入数据的地方需要对一些特殊字符进行拦截。
1.想问下这些会对数据操作异常的特殊字符串有哪些?
2.有没有什么简单点的方法能把这些字符屏蔽掉或者提示用户。除了一个个查(find)?
[解决办法]
mfc的话,在编辑框的OnChar里判断
[解决办法]
这玩样偶做过,把你要屏蔽的字符的ASC码放在一个集合中
然后再WM_CHAR消息中遍历下,如果发现有匹配就直接返回。
PS:由于屏蔽的字符不是很多,每次遍历也就20次左右,不会影响效率
[解决办法]
更简单的做法可能是:
对于进入数据库的字段值数据,分门别类有一组对应的处理函数,在提交数据库(存储或执行)之前总是进行数据修理和有效性检查
[解决办法]
有些数据库本身就有非常字符判断(自己定义非法字符),比如原先的foxbase数据库就有validate函数,这应该在数据库里操作语法里找,不同的数据库有不同的操作语句及语法,只要知道了是哪个操作非常字符语句就可以用SQL执行