定义了 
 OracleParameter[] companyParams = {
                    new OracleParameter("USERNAME", OracleType.VarChar,20),
                    new OracleParameter("COMPANYNAME", OracleType.VarChar,200),
                    new OracleParameter("COMPANYTYPE", OracleType.Number,4),
new OracleParameter("MANAGEMENTADDR", OracleType.VarChar,100),
new OracleParameter("CALLINGS", OracleType.VarChar,50),
new OracleParameter("MANUFACTURE", OracleType.VarChar,100),
                    new OracleParameter("FLAG",OracleType.Number,4),
                    new OracleParameter("COMPANYID", OracleType.Number,4)};赋值的时候用
 companyParams[7].Direction = ParameterDirection.Output;那么在Oracle 存储过程中写 
create or replace procedure SP_RONYEE_COMPANY_ADD
(
UserNAME in varchar2,
COMPANYNAME in varchar2,
COMPANYTYPE in number,
MANAGEMENTADDR in varchar2,
CALLING in varchar2,
MANUFACTURE in varchar2,
FLAG in Number,
COMPANYID out VARCHAR2
)
 is
begin
INSERT INTO  ronyee_company (username, companyname,companytype,managementaddr,calling,manufacture, flag, companyID)
values
(''||username||'',''||companyname||'',''||companytype||'',''||managementaddr||'',''||calling||'',''||manufacture||'',''||flag||'',''||companyID||'');
end SP_RONYEE_COMPANY_ADD;
赋值CompanyID的时候说出错~
是不是哪里写错了 应该改一下~
谢谢大家

解决方案 »

  1.   

    过程 贴错了 是下面这样
    create   or   replace   procedure   SP_RONYEE_COMPANY_ADD 

    UserNAME   in   varchar2, 
    COMPANYNAME   in   varchar2, 
    COMPANYTYPE   in   number, 
    MANAGEMENTADDR   in   varchar2, 
    CALLING   in   varchar2, 
    MANUFACTURE   in   varchar2, 
    FLAG   in   Number, 
    COMPANYID   out   Number

      is 
    begin 
    INSERT   INTO     ronyee_company   (username,   companyname,companytype,managementaddr,calling,manufacture,   flag,   companyID) 
    values 
    ('' ¦ ¦username ¦ ¦'','' ¦ ¦companyname ¦ ¦'','' ¦ ¦companytype ¦ ¦'','' ¦ ¦managementaddr ¦ ¦'','' ¦ ¦calling ¦ ¦'','' ¦ ¦manufacture ¦ ¦'','' ¦ ¦flag ¦ ¦'','' ¦ ¦companyID ¦ ¦''); 
    end   SP_RONYEE_COMPANY_ADD; 
      

  2.   

    测试的时候 companyParams[7].Value 也是Null 是哪错了?
      

  3.   

    CREATE OR REPLACE PROCEDURE SP_RONYEE_COMPANY_ADD(USERNAME       IN VARCHAR2,
                                                      COMPANYNAME    IN VARCHAR2,
                                                      COMPANYTYPE    IN NUMBER,
                                                      MANAGEMENTADDR IN VARCHAR2,
                                                      CALLING        IN VARCHAR2,
                                                      MANUFACTURE    IN VARCHAR2,
                                                      FLAG           IN NUMBER,
                                                      COMPANYID      OUT NUMBER) IS
    BEGIN
      COMPANY_ID := 123; -- You must initialize the return value  INSERT INTO RONYEE_COMPANY
        (USERNAME, COMPANYNAME, COMPANYTYPE, MANAGEMENTADDR, CALLING, MANUFACTURE, FLAG, COMPANYID)
      VALUES
        ('' || USERNAME || '',
         '' || COMPANYNAME || '',
         '' || COMPANYTYPE || '',
         '' || MANAGEMENTADDR || '',
         '' || CALLING || '',
         '' || MANUFACTURE || '',
         '' || FLAG || '',
         '' || COMPANYID || '');
    END SP_RONYEE_COMPANY_ADD;
      

  4.   

    难道你这个表中存储的内容都需要加单引号吗?
    否则就不需要加了。我想你的意思应该如下:
    CREATE OR REPLACE PROCEDURE SP_RONYEE_COMPANY_ADD(USERNAME       IN VARCHAR2,
                                                      COMPANYNAME    IN VARCHAR2,
                                                      COMPANYTYPE    IN NUMBER,
                                                      MANAGEMENTADDR IN VARCHAR2,
                                                      CALLING        IN VARCHAR2,
                                                      MANUFACTURE    IN VARCHAR2,
                                                      FLAG           IN NUMBER,
                                                      COMPANYID      OUT NUMBER) IS
    BEGIN
      SELECT NVL(MAX(COMPANYID), 1) INTO COMPANYID FROM RONYEE_COMPANY;  INSERT INTO RONYEE_COMPANY
        (USERNAME, COMPANYNAME, COMPANYTYPE, MANAGEMENTADDR, CALLING, MANUFACTURE, FLAG, COMPANYID)
      VALUES
        (USERNAME, COMPANYNAME, COMPANYTYPE, MANAGEMENTADDR, CALLING, MANUFACTURE, FLAG, COMPANYID);
    END SP_RONYEE_COMPANY_ADD;
      

  5.   

    companyID 整形吧,没有引号吧