Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 执行Oracle过程_C#_Oracle_Stored Procedures - Fatal编程技术网

C# 执行Oracle过程

C# 执行Oracle过程,c#,oracle,stored-procedures,C#,Oracle,Stored Procedures,我将oracle数据库连接到VisualStudio,现在我正在尝试执行在数据库中创建的过程 我试过这个: OracleCommand cmd = new OracleCommand("BEGIN ADD_USER('"+txtName.Text+"','"+txtName2.Text+"',"+txtID.Text+"); END;" ); cmd.ExecuteNonQuery(); 我的过程有3个参数:name、2name、id。当我在sq

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

我试过这个:

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

            cmd.ExecuteNonQuery();
我的过程有3个参数:name、2name、id。当我在sqldeveloper中使用这个命令时,它可以正常工作,但当我在我的项目中尝试它时,会出现错误

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();
}

像这样的东西应该有用。

下面是它对我的作用:

        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();

@ktos1234哪里出错了?我没有参数。AddWithValue类,我必须使用参数。添加