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

実際には 1 つのパラメーター 777 を送信したかったのですが、ADO.NET は自動的にもう 1 つのパラメーターを生成しました。

    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.ArgumentExceptioniojn: 指定されたパラメーター名 '30' は無効です。パラメータ名は文字で始める必要があり、文字、数字、およびアンダースコアのみを含めることができます。

誰でもこの問題を知っています。

ありがとうございました。

4

1 に答える 1