【问题标题】:Executing Oracle procedure执行 Oracle 程序
【发布时间】:2017-03-17 13:14:13
【问题描述】:

我将我的 oracle 数据库连接到 Visual Studio,现在我正在尝试执行我在我的数据库中创建的过程。

我试过了:

           OracleCommand cmd = new OracleCommand("BEGIN ADD_USER('"+txtName.Text+"','"+txtName2.Text+"',"+txtID.Text+"); END;" );

            cmd.ExecuteNonQuery();

我的程序有 3 个参数:name、2name、id。当我在 sqldeveloper 中使用此命令时它工作正常,但在我的项目中尝试时出现错误。

【问题讨论】:

    标签: c# oracle stored-procedures


    【解决方案1】:
    using (OracleConnection cn = new OracleConnection("con string"))
    {
        cn.Open();
        OracleCommand cmd = new OracleCommand("ADD_USER");
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = cn;
    
        cmd.Parameters.Add("YourSPParamName1", OracleDbType.{YourFieldTypeInDB}).Value = txtName.Text;
        cmd.Parameters.Add("YourSPParamName2", OracleDbType.{YourFieldTypeInDB}).Value = txtName2.Text;
        cmd.Parameters.Add("YourSPParamName3", OracleDbType.{YourFieldTypeInDB}).Value = txtID.Text;
    
        cmd.ExecuteNonQuery();
    }
    

    这样的事情应该可以工作。

    【讨论】:

    • @ktos1234 我哪里搞错了?
    • 我没有Parameters.AddWithValue类,我必须使用Parameters.Add
    【解决方案2】:

    这对我来说是这样的:

            OracleConnectionStringBuilder sb = new OracleConnectionStringBuilder();
            sb.DataSource = "localhost";
            sb.UserID = "something";
            sb.Password = "pass";         
           OracleConnection conn = new OracleConnection(sb.ToString());
            conn.Open();
                OracleCommand cmd = new OracleCommand("ADD_USER");
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Connection = conn;
    
                cmd.Parameters.Add("NAME", OracleDbType.Varchar2).Value = txtName.Text;
                cmd.Parameters.Add("NAME2", OracleDbType.Varchar2).Value = txtName2.Text;
                cmd.Parameters.Add("ID", OracleDbType.Int32).Value = txtID.Text;
    
                cmd.ExecuteNonQuery();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 2014-07-20
      • 2020-01-14
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多