ORA-01722invalid number问题

前段时间给公司的webform老项目做功能拓展

string sql = @"insert into xxx(p1,p2,p3,p4)
values(:p1, :p2, :p3,:p4)";

                    Hashtable hstPara = new Hashtable();
                    hstPara.Add(":p1", "xxx");
                    hstPara.Add(":p2", "xxx");
                    hstPara.Add(":p3", "xxx");
                    hstPara.Add(":p4", "xxx");
                    DataAccessOracle.ExecuteSQL("ConnectString", sql, hstPara);

同上操作结果Oracle报错invalid number

经过断点后发现,调试时给参数赋值中包含数字+字母,而对应栏位为Integer类型,所以要在前端或后端做输入合法性校验。

其他小问题:做添加参数时,如果 hstPara.Add(":p4", "xxx");参数没有在sql语句中 映射/使用 到,也会爆出invalid number错误

posted @ 2020-09-07 14:29  树樁  阅读(310)  评论(0)    收藏  举报