Ошибка: "Заполнить: свойство SelectCommand.Connection не было инициализировано".
im получая эту ошибку при попытке подключить базу данных 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.
Ответы
Ответ 1
Измените строку
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
To
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins", conn);
И он должен работать.
Альтернативно назначьте conn для свойства cmd.Connection.
Проблема с вашим кодом заключается в том, что вы никогда не назначаете подключение к команде, следовательно, ошибка говорит о том, что соединение не инициализировано.
Ответ 2
Попробуйте это
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins",conn);
или
MySqlCommand cmd = new MySqlCommand("SELECT tes FROM ins");
cmd.Connection=conn;
Ответ 3
У меня тоже возникла эта проблема. после поиска проблема обнаружила, что объект соединения, который я предоставил SqlDataAdapter, не инициализируется, поэтому соединение, переданное как null
Ответ 4
Имел ту же ошибку и просто забыл соединение в строке SQL, как упомянуто выше. Просто нужно добавить con после запятой.