日期:2014-05-17  浏览次数:20868 次

[求助]C#如何调入oracle函数,并返回值
本帖最后由 oktell 于 2013-02-21 17:05:26 编辑
我们的oracle数据库有个函数,
FUNCTION "NEWID" (typeString VARCHAR2) RETURN VARCHAR2

我想在C# winform中调用此函数,并得到返回值,该如何写呢?


另外,能否在参数化的插入语句中直接调用此函数;如

            string insertstring = "insert into T_SPM_TEST(FID) values(:FID)";

            OracleConnection conn = new WJPAY.COMMON.OracleConn().OraConn;
            OracleCommand cmd = new OracleCommand();
            cmd.Connection = conn;
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = insertstring;
            cmd.Parameters.Add(":FID", OracleType.VarChar, 44);
            cmd.Parameters[0].Value = "NEWID('1234ECA3')"; // 这个参数如何调入这个函数呢?谢谢
            conn.Open();
            int result = cmd.ExecuteNonQuery();
            conn.Close();


oracle c#

------解决方案--------------------
这个不是赋值吧。直接写在sql语句里吧
insert into T_SPM_TEST(FID) values(NEWID('1234ECA3'))
------解决方案--------------------
你传进去参数那就是作为值了。
不可以的吧。
------解决方案--------------------
数据库中的函数名,存储过程名肯定不能作为参数,函数的参数部分可以作为参数传入。