////////////////PLSQL创建存储过程如下 
create or replace procedure insertName 

username in char(20), 
sex in char(2), 
age in char(3), 
address in char(100) 

is 
begin 
    select count(username) from userinfo; 
end insertName; //////////////////NET中取存储过程如下: 
conn连接时没有问题的!!         string username = this.username.Text.Trim().ToString(); 
        string age = this.age.Text.Trim().ToString(); 
        string sex = this.sex.Text.Trim().ToString(); 
        string address = this.address.Text.Trim().ToString();         OracleConnection conn = getconnoracle();         OracleCommand cmd = new OracleCommand(); 
        cmd.CommandText = "insertName"; 
        cmd.CommandType = CommandType.StoredProcedure; 
        cmd.Parameters.Add("username", username); 
        cmd.Parameters.Add("sex", sex); 
        cmd.Parameters.Add("age", age); 
        cmd.Parameters.Add("address", address); 
        cmd.Connection = conn;         try 
        { 
            conn.Open(); 
            cmd.ExecuteNonQuery(); 
            Response.Write("suess!"); 
        } 
        catch (Exception oo) 
        { 
            Response.Write(oo.Message); 
        } 
        finally 
        { 
            conn.Close(); 
        } 运行结果如下: 
ORA-06550: 第 1 行, 第 7 列: PLS-00905: 对象 COMMONUSER.INSERTNAME 无效 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 
其中 COMMONUSER 是我登陆PLSQL的用户名。按网上说如果将 
        cmd.Parameters.Add("username", username); 
        cmd.Parameters.Add("sex", sex); 
        cmd.Parameters.Add("age", age); 
        cmd.Parameters.Add("address", address); 
变成 
        cmd.Parameters.Add(":username", username); 
        cmd.Parameters.Add(":sex", sex); 
        cmd.Parameters.Add(":age", age); 
        cmd.Parameters.Add(":address", address); 结果::内部 .Net Framework 数据提供程序错误 30。 小弟新手,深夜求教,望各位哥哥不吝指导!!! 

解决方案 »

  1.   

    这个过程编译应该没有成功,首先没有out参数,没法获得你需要的结果其次,select 的结果需要有变量承接修改:过程参数中增加一个out参数接受结果
    v_cntbegin中select count(..) into v_cnt from ..
      

  2.   

    没看你的存储过程,怎么没有into呢
      

  3.   

    create or replace procedure insertName 

    username char, 
    sex char, 
    age  char, 
    address  char


    is 
    begin 
        insert into userinfo values (username,sex,age,address);end insertName;
    end insertName;
    上网查了一个晚上了···改成这样就OKl