Le paramètre.addwithvalue - ExecuteReader: propriété CommandText n'a pas été initialisé

Je reçois le message d'erreur ExecuteReader: propriété CommandText n'a pas été initialisé à la adapter.fill(ds) ligne. La chose étrange est que si je remplace @user avec une chaîne réelle (par exemple, 'nom') il fonctionne parfaitement bien, donc, quelque chose semble cassé dans la partie qui définit le paramètre.

J'ai essayé de mettre la chaîne à la fois avec et sans ''(c'est à dire @user et@user'). J'ai aussi essayé d'utiliser à la fois = et like. User.Identity.Name.ToString() a été testé pour revenir à l'utilisateur connecté correctement par la définition d'une zone de texte.

Désolé pour la non-anglais variables de base de données et si cette question a été posée quelque part. J'ai presque après une demi-douzaine d'heures de recherche, même si (peut-être que je viens de sucer).

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;


public partial class Bruker : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

    String conn = ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
    SqlConnection sql = new SqlConnection(conn);
    sql.Open();

    SqlCommand command = new SqlCommand(conn);
    command.CommandText = "SELECT klubb.KlubbNavn FROM Klubber klubb inner join User_Klubber_Connection conn on Klubb.Klubb_Id = conn.Klubb_Id inner join aspnet_Users bruker on bruker.UserId = conn.UserId WHERE bruker.UserName = @user";
    command.Parameters.AddWithValue("@user", User.Identity.Name.ToString());
    command.Connection = sql;
    SetDropDownList(command);
    DropDownList1.SelectedIndex = 0;
    ChangeGridView(GetMembersOfClub(), sql);

    sql.Close();

}

protected void SetDropDownList(SqlCommand command)
{

    SqlDataAdapter adapter = new SqlDataAdapter(command);
    SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

    DataSet ds = new DataSet();
    adapter.Fill(ds);

    DropDownList1.DataSource = ds;
    DropDownList1.DataTextField = "KlubbNavn";

    DropDownList1.DataBind();

}
}

OriginalL'auteur user1339253 | 2013-03-12