CLR Hosting and method execution

Hello:

I'm trying to call a method of a class using CLR Hosting (.NET 2.0) but when calling Invoke on the IDispatch interface of the object i'm getting E_NOINTERFACE, the method i'm trying to execute looks like this:

        public FbResultSet AddEmployeeProject(short employeeID, string projectID)
        {
            FbConnection connection = new FbConnection(this.GetConnectionString());
            connection.Open();

            string sql = "INSERT INTO employee_project (emp_no, proj_id) VALUES (@EmployeeID, @ProjectID);";

            using (FbCommand insert = new FbCommand(sql, connection))
            {
                insert.Parameters.Add("@EmployeeID", FbDbType.SmallInt).Value = employeeID;
                insert.Parameters.Add("@ProjectID", FbDbType.Char).Value = "GUIDE";

                int rowsAffected = insert.ExecuteNonQuery();
            }

            return new FbResultSet();
        }

I can get it executed if i have the two parameters as short ( or is i left only one parameter )

Int the sampe the first parameter will be passed as VT_I2 and the second one as VT_BSTR

Any idea on what can i do to solve the problem


-- 
Best regards

Carlos Guzman Alvarez
Vigo-Spain



Answer this question

CLR Hosting and method execution

  • kguyot

    Can you post the code that tries to invoke this method
  • CyberGuy

    It gets called only if i chaneg the method parameters (aka with short, string it doesn't get called)


  • Werner Salomon

    It could be, but i don't think so, the reason is that with only one input parameter (short) or two (both short) it runs fine.

    I have other methods returning the same type and are running fine ( all of them with a single input parameter )


  • Rob23

    What about the 3rd out parameter
  • rich81

    Maybe this error just propagates from yout db code
    Can you attach with debugger and make sure the function actually gets called

  • CLR Hosting and method execution