0

您好在连接数据库期间我收到一些错误连接到数据库(System.ArgumentException)

使用 ADO.NET。

有一些复杂的参数设置

请检查下面的编码。

            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);
            }

获取数据点 mda.GetUserNameByUserId(777, objp);

实际上我想发送一个参数 777,但是 ADO.NET 自动生成了另外一个参数。

    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);
    }

实际上用户名是我现在不需要发送的输出。

无论如何,我尝试发送一些临时参数

并有错误。

System.ArgumentExceptiojn:指定的参数名称“30”无效。参数名称必须以字母开头,并且只能包含字母、数字和下划线。

任何人都知道这个问题。

谢谢你。

4

1 回答 1

0

尝试将参数名称更改为UserName

ObjectParameter objp = new ObjectParameter("UserName", typeof(String));
于 2013-11-25T14:46:03.270 回答