求教:用java调用一个过程,要完成向数据库插入的操作,但数据表中的项很多,也就是说数据表里的列字段很多,这时要往过程里传入参数以便完成insert操作,是不是非得要为数据表里的每一列都创建一个参数? 还是有别的什么好点的方法,能让需要的参数简便地传入?
例:现在有数据表a,其字段有a1,a2,a3...a10,那我在创建一个功能为insert的过程时,是不是一定要创建10个参数?

解决方案 »

  1.   

    那要看你过程怎么写咯,如果你非要一个参数就把所有值都存进去,那么,你可以用一些分隔符来把参数分开,到时候在过程里面解释,如要存 a1 a2 a3 ...a10 这几个参数,那可以直接存一个参数:
    a1::a2::a3::a4...::a10 (注意下用作分隔的符号不要在参数的值里出现即可)
      

  2.   

    可以把所有待插入的数据在java中组合成一个字符串,类似:
    String str_value = "value1,value2,...value10";
    其对应的列也写成字符串:
    String str_column = "clm1,clm2,...clm10";
    把这2个字符串作为存储过程参数
    在存储过程中组装sql
    sql = insert into table(str_column) values(str_value)
    exec sql