有条这样的sql语句:
insert into building(objectid,geometry)
VALUES('1',SDO_GEOMETRY(3008,NULL,Null,SDO_ELEM_INFO_ARRAY(1,1007,1,1,1006,6,1,1003,1,16,1003,1,31,1003,1,46,1003,1,61,1003,1,76,1003,1),
SDO_ORDINATE_ARRAY(6480357.54645854,1846550.25297484,384.709626833255,6480311.29982045,1846572.95319146,376.815402517268,6480311.2998204)))
我要把6480357.54645854,1846550.25297484,384.709626833255,6480311.29982045,1846572.95319146,376.815402517268,6480311.2998204作为参数动态绑定起来。
string strQuery="into building(objectid,geometry)
VALUES('1',SDO_GEOMETRY(3008,NULL,Null,SDO_ELEM_INFO_ARRAY(1,1007,1,1,1006,6,1,1003,1,16,1003,1,31,1003,1,46,1003,1,61,1003,1,76,1003,1),
SDO_ORDINATE_ARRAY(:geom)))";
OraclCommad commad = new OracleCommand(strQuery,_oraConnection);
OracleParameter parameter = new OracleParameter(":geom",OracleDbType.Array);
parameter.Value = doublearrya;(一个doulbe类型的数组)
command.Parameter.Add(parameter);
我执行的时候出现“绑定参数无效的错误”
我觉的问题的在:geom的类型不对 不是OracleDbType.Array. varchar也不是的,因为我绑定的也不是字符型。高手帮我看看怎么解决?
insert into building(objectid,geometry)
VALUES('1',SDO_GEOMETRY(3008,NULL,Null,SDO_ELEM_INFO_ARRAY(1,1007,1,1,1006,6,1,1003,1,16,1003,1,31,1003,1,46,1003,1,61,1003,1,76,1003,1),
SDO_ORDINATE_ARRAY(6480357.54645854,1846550.25297484,384.709626833255,6480311.29982045,1846572.95319146,376.815402517268,6480311.2998204)))
我要把6480357.54645854,1846550.25297484,384.709626833255,6480311.29982045,1846572.95319146,376.815402517268,6480311.2998204作为参数动态绑定起来。
string strQuery="into building(objectid,geometry)
VALUES('1',SDO_GEOMETRY(3008,NULL,Null,SDO_ELEM_INFO_ARRAY(1,1007,1,1,1006,6,1,1003,1,16,1003,1,31,1003,1,46,1003,1,61,1003,1,76,1003,1),
SDO_ORDINATE_ARRAY(:geom)))";
OraclCommad commad = new OracleCommand(strQuery,_oraConnection);
OracleParameter parameter = new OracleParameter(":geom",OracleDbType.Array);
parameter.Value = doublearrya;(一个doulbe类型的数组)
command.Parameter.Add(parameter);
我执行的时候出现“绑定参数无效的错误”
我觉的问题的在:geom的类型不对 不是OracleDbType.Array. varchar也不是的,因为我绑定的也不是字符型。高手帮我看看怎么解决?
解决方案 »
- 创建表居然提示无效字符?
- 如何转换成Oracle代码?高分求!
- 急!! 下面的sql语句怎么理解,那位高手能帮忙解释一下。谢谢!!!
- Oracle 数据库JOB无法启动,重新启动oracle数据库也不行,跪求解决办法
- 热点块
- 找高手帮我看看这个存储过程存在的问题
- window中的oracle换到linux中也是用imp/exp进行迁移吗?
- ^_^^_^^_^关于job的问题,请高手帮忙看看!急等!谢谢!
- asp用ado联不上oracle?(使用OraOLEDB)
- hibernate的实体类跟数据表的对应关系
- 【新年快乐】求一个简单的oracle触发器,可是我不会写
- ORA-00907: 缺失右括号
应该是你JAVA里类型没选对。
OracleParameter parameter = new OracleParameter(":geom",OracleDbType.Array); ”
因为“...SDO_ORDINATE_ARRAY(:geom)))"; ”的VALUES内有整型又有字符型,转换参数不一致但又强行给了string strQuery,
“new OracleParameter(":geom",OracleDbType.Array); ”事例化时就不对了,
执行的时候就会报“绑定参数无效的错误”。
参考下列表达就应该没问题了:
adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value = "Smith";
adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value = 7369;
adapter.Fill(dataSet);
如再不行就GOOGLE一下DAO的基础步骤,了解再改一下。