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错误

浙公网安备 33010602011771号