web-dev-qa-db-fra.com

Erreur: "Fill: La propriété SelectCommand.Connection n'a pas été initialisée."

im obtenir cette erreur en essayant de connecter une base de données mysql à un éditeur, voici le code derrière:

protected void Button1_Click(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    MySqlConnection conn = new MySqlConnection(@"connection string");//tested and working
    conn.Open();

    MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
    MySqlDataAdapter da = new MySqlDataAdapter(cmd);

    da.SelectCommand = cmd;
    da.Fill(dt);


    if (dt.Rows.Count > 0)
    {
        Editor1.Content = dt.Rows[0]["tes"].ToString();
    }
    conn.Close();

}

et voici le code de la page aspx: 

<body>
<form id="form1" runat="server">


<cc1:Editor ID="Editor1" runat="server" Height="400px" Visible="true" />

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>

qu'est-ce que je fais mal, merci d'avance.

J'utilise asp.net 3.5.

16
Wahtever

Changer la ligne 

MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");

À 

MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins", conn);

Et ça devrait marcher.

Vous pouvez également affecter conn à la propriété cmd.Connection.

Le problème avec votre code est que vous n'attribuez jamais de connexion à la commande, d'où le message d'erreur indiquant que la connexion n'est pas initialisée.

30
Rune Grimstad

Essaye ça

MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins",conn);

ou 

MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
cmd.Connection=conn;
2
Palnati

Avait cette même erreur et simplement simplement oublié la connexion dans la chaîne SQL comme mentionné ci-dessus. Juste besoin d'ajouter con après la virgule.

0
FUSION CHA0S

J'ai aussi ce problème. après la recherche, le problème a révélé que l'objet de la connexion que j'ai fourni à SqlDataAdapter n'est pas Initialize et que la connexion est passée à null

0
Vishal Agrawal