我装的事VS2010,因为要用的oralce数据库,但是VS2010里面无法引用 OracleClient.dll。
所以,我自己下载了一个dll文件。
其他的都没什么问题,但是如下代码里面,却提示不存在PrepareCommand。
这是问什么? public int ExecuteSql(string sql, params OracleParameter[] cmdParms)
            {
                OracleCommand cmd = new OracleCommand();
                {
                    try
                    {
                        PrepareCommand(cmd, con, null, sql, cmdParms);
                        int rows = cmd.ExecuteNonQuery();
                        cmd.Parameters.Clear();
                        return rows;
                    }
                    catch (System.Data.OracleClient.OracleException e)
                    {
                        throw e;
                    }
                }
            }

解决方案 »

  1.   


    PrepareCommand方法是个自定义方法。。你帖的代码中都没这个方法。。你怎么调用它。。肯定会报不存在这个方法
      

  2.   

            /// <summary>
            /// Internal function to prepare a command for execution by the database
            /// </summary>
            /// <param name="cmd">Existing command object</param>
            /// <param name="conn">Database connection object</param>
            /// <param name="trans">Optional transaction object</param>
            /// <param name="cmdType">Command type, e.g. stored procedure</param>
            /// <param name="cmdText">Command test</param>
            /// <param name="commandParameters">Parameters for the command</param>
            private static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, CommandType cmdType, string cmdText, OracleParameter[] commandParameters) {            //Open the connection if required
                if (conn.State != ConnectionState.Open)
                    conn.Open();            //Set up the command
                cmd.Connection = conn;
                cmd.CommandText = cmdText;
                cmd.CommandType = cmdType;            //Bind it to the transaction if it exists
                if (trans != null)
                    cmd.Transaction = trans;            // Bind the parameters passed in
                if (commandParameters != null) {
                    foreach (OracleParameter parm in commandParameters)
                        cmd.Parameters.Add(parm);
                }
            }
      

  3.   

    哈哈,现在终于明白了,开始还傻傻的以为是VS自带的。
    原来是Petshop里面的啊,