Frage

Hello during connect Database I got some error connect to database (System.ArgumentException)

using ADO.NET.

There are some complicated parameter setting

Please check below coding.

            ObjectParameter objp = new ObjectParameter("30", typeof(String));

            Model.TestEntities1 mda = new Model.TestEntities1();
            var test = mda.GetUserNameByUserId(777, objp);

            foreach (var test1 in test)
            {
                MessageBox.Show(this, test1.ToString(), "Alter", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

the point to get data mda.GetUserNameByUserId(777, objp);

actually I wanted to send one parameter 777, however ADO.NET automatically generated one more parameter.

    public ObjectResult<GetUserNameByUserId_Result> GetUserNameByUserId(Nullable<global::System.Int32> userId, ObjectParameter userName)
    {
        ObjectParameter userIdParameter;
        if (userId.HasValue)
        {
            userIdParameter = new ObjectParameter("UserId", userId);
        }
        else
        {
            userIdParameter = new ObjectParameter("UserId", typeof(global::System.Int32));
        }

        return base.ExecuteFunction<GetUserNameByUserId_Result>("GetUserNameByUserId", userIdParameter, userName);
    }

Actually user name is output I don't need to send now.

Anyway I try to send my some temp parameters

and have a error.

System.ArgumentExceptiojn: The specified parameter name '30' is not valid. Parameter names must begin with a letter and can only contain letters, numbers, and underscores.

Anyone know this issues.

Thank you.

War es hilfreich?

Lösung

Try change the parameter name to UserName

ObjectParameter objp = new ObjectParameter("UserName", typeof(String));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top