web-dev-qa-db-ja.com

エラー:「Fill:SelectCommand.Connectionプロパティが初期化されていません。」

mysqlデータベースをエディターに接続しようとしているときにこのエラーが発生しました。背後にあるコードは次のとおりです。

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

}

そしてこれが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>

何が悪いのか、事前に感謝します。

私はasp.net 3.5を使用しています

17
Wahtever

行を変更

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

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

そしてそれはうまくいくはずです。

または、connをcmd.Connectionプロパティに割り当てます。

コードの問題は、コマンドに接続を割り当てないため、接続が初期化されていないことを示すエラーが発生することです。

33
Rune Grimstad

これを試して

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

または

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

これと同じエラーが発生し、上記のSQL文字列で接続を忘れただけです。カンマの後にconを追加するだけです。

0
FUSION CHA0S

この問題も発生しました。検索後、問題が見つかりました。SqlDataAdapterを提供している接続のオブジェクトはInitializeではないため、接続はnullとして渡されます

0
Vishal Agrawal