0

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.

clear.choi
  • 835
  • 2
  • 6
  • 19
  • 1
    Actually my purpose was only one parameter but when I generated Stored procedure system automatically generated two parameters as second codes, so I just try to put any data. – clear.choi Nov 25 '13 at 14:35
  • 1
    Second parameter "UserName" Actually Set Output in Stored procedure ALTER PROCEDURE [dbo].[GetUserNameByUserId] -- Add the parameters for the stored procedure here UserId int, UserName varchar(100) output AS – clear.choi Nov 25 '13 at 14:38
  • 1
    Eventhough it's output, when I try to call Stored procedures system read two parameter since beinging. so I am not sure how do I delete in stored procedure Model browser – clear.choi Nov 25 '13 at 14:43
  • That sounds like you have some thing bass ackwards and it's doing Set 30 = 'Fred'.. – Tony Hopkinson Nov 25 '13 at 14:43
  • 1
    ok I got it something unmatched with stored procedure parameter setting.. I changed stored procedure and work fine. thank you every body. – clear.choi Nov 25 '13 at 15:09
  • Yes, the problem was that you were naming the parameter `30`, that is an invalid identifier. –  Nov 25 '13 at 15:12

1 Answers1

0

Try change the parameter name to UserName

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