我的存储过程传入参数想设成一个可变的数组,怎样实现啊,最好有代码啦

解决方案 »

  1.   

    for(int c=0;c<chkid.Count;c++)
    {
    CheckBox cb =new CheckBox();
    cb=(CheckBox)Page.Controls[1].FindControl(chkid[c].ToString());
    if("True"==cb.Checked.ToString())

    //这存储过程建立cmdu
    OracleCommand cmde = new OracleCommand(); 
    cmde.Connection = conn; 
    cmde.CommandText = pname[c].ToString().Trim(); 
    cmde.CommandType = CommandType.StoredProcedure;

    int k=0;
    for(int l=0;l<csid.Count;l++)
    {
    if(c<10)
    {
    if(chkid[c].ToString()==csid[l].ToString().Substring(0,4))
    {
    string temp=csid[l].ToString().Substring(4,1);
    if("T"==temp.ToString())
    {
    TextBox tx= new TextBox();
    tx=(TextBox)Page.Controls[1].FindControl(csid[l].ToString());
    cmde.Parameters.Add(csdm[l].ToString(),OracleType.VarChar,20);  //增加参数 
    if(k==0)
    {
    cmde.Parameters[0].Value = tx.Text; //增加参数值 
    }
    if(k==1)
    {
    cmde.Parameters[1].Value =tx.Text;
    }
    if(k==2)
    {
    cmde.Parameters[2].Value=tx.Text;
    }
    }
    if("D"==temp.ToString())
    {
    DropDownList ddl = new DropDownList();
    ddl=(DropDownList)Page.Controls[1].FindControl(csid[l].ToString());

    cmde.Parameters.Add(csdm[l].ToString(),OracleType.VarChar,20); //增加参数 
    if(k==0)
    {
    cmde.Parameters[0].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    if(k==1)
    {
    cmde.Parameters[1].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    if(k==2)
    {
    cmde.Parameters[2].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    }
    k++;
    }
    }
    else
    {
    if(chkid[c].ToString()==csid[l].ToString().Substring(0,5))
    {
    string temp=csid[l].ToString().Substring(5,1);
    if("T"==temp.ToString())
    {
    TextBox tx= new TextBox();
    tx=(TextBox)Page.Controls[1].FindControl(csid[l].ToString());
    cmde.Parameters.Add(csdm[l].ToString(),OracleType.VarChar,20);  //增加参数 
    if(k==0)
    {
    cmde.Parameters[0].Value = tx.Text; //增加参数值 
    }
    if(k==1)
    {
    cmde.Parameters[1].Value =tx.Text;
    }
    if(k==2)
    {
    cmde.Parameters[2].Value=tx.Text;
    }
    }
    if("D"==temp.ToString())
    {
    DropDownList ddl = new DropDownList();
    ddl=(DropDownList)Page.Controls[1].FindControl(csid[l].ToString());

    cmde.Parameters.Add(csdm[l].ToString(),OracleType.VarChar,20); //增加参数 
    if(k==0)
    {
    cmde.Parameters[0].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    if(k==1)
    {
    cmde.Parameters[1].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    if(k==2)
    {
    cmde.Parameters[2].Value = ddl.SelectedValue.ToString(); //增加参数值 
    }
    }
    k++;
    }
    }
    }
    try
    {
    conn.Open(); 
    cmde.ExecuteNonQuery(); 
    conn.Close(); 
    cmde.Dispose();
    Response.Write("<script>alert ('执行成功!'); </script>");
    //返回 
    }自己挑有用的看吧。这个不难啊。