奇怪的oracle访问数据库

hawk5247 2008-11-14 09:50:57
有条这样的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也不是的,因为我绑定的也不是字符型。高手帮我看看怎么解决?
...全文
97 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ypopo1234 2009-02-26
  • 打赏
  • 举报
回复
3楼牛人啊。不过你们用什么访问数据库啊。怎么这么。。。。
shoulder618 2008-11-14
  • 打赏
  • 举报
回复
问题在:“new OracleCommand(strQuery,_oraConnection);
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的基础步骤,了解再改一下。
vc555 2008-11-14
  • 打赏
  • 举报
回复
这个类型应该是数组,你看它的创建语句:CREATE TYPE sdo_ordinate_array AS VARRAY (1048576) of NUMBER;
应该是你JAVA里类型没选对。
BlueskyWide 2008-11-14
  • 打赏
  • 举报
回复
使用数组变量赋float值的问题,可以搜一下。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧