错误:“填充:SelectCommand.Connection属性尚未初始化。”

时间:2011-04-21 22:42:32

标签: asp.net mysql data-binding

我在尝试将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。

4 个答案:

答案 0 :(得分:31)

更改行

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

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

它应该有用。

或者将conn指定给cmd.Connection属性。

您的代码的问题在于您从不为命令分配连接,因此错误表明连接未初始化。

答案 1 :(得分:2)

试试这个

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

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

答案 2 :(得分:0)

我也遇到了这个问题。搜索后问题发现我提供SqlDataAdapter的连接对象不是Initialize所以连接传递为null

答案 3 :(得分:0)

也发生了同样的错误,只是如上所述就忘记了SQL字符串中的连接。只需在逗号后添加 con