简体   繁体   English

通过ADO.NET连接数据库存储过程

[英]Connect database stored procedure by ADO.NET

Hello during connect Database I got some error connect to database (System.ArgumentException) 您好在连接数据库期间,我在连接数据库时遇到了一些错误(System.ArgumentException)

using ADO.NET. 使用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); 获取数据的点mda.GetUserNameByUserId(777,objp);

actually I wanted to send one parameter 777, however ADO.NET automatically generated one more parameter. 实际上我想发送一个参数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);
    }

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. System.ArgumentExceptiojn:指定的参数名称“ 30”无效。 Parameter names must begin with a letter and can only contain letters, numbers, and underscores. 参数名称必须以字母开头,并且只能包含字母,数字和下划线。

Anyone know this issues. 谁都知道这个问题。

Thank you. 谢谢。

尝试将参数名称更改为UserName

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM