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を使用しています
行を変更
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
に
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins", conn);
そしてそれはうまくいくはずです。
または、connをcmd.Connectionプロパティに割り当てます。
コードの問題は、コマンドに接続を割り当てないため、接続が初期化されていないことを示すエラーが発生することです。
これを試して
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins",conn);
または
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
cmd.Connection=conn;
これと同じエラーが発生し、上記のSQL文字列で接続を忘れただけです。カンマの後にconを追加するだけです。
この問題も発生しました。検索後、問題が見つかりました。SqlDataAdapterを提供している接続のオブジェクトはInitializeではないため、接続はnullとして渡されます