Я использую C # в .NET 2.0 и пытаюсь получить доступ к базе данных и манипулировать ею. Я могу читать с БД столько раз, сколько захочу, и все работает, но как только я пытаюсь вставить элемент, я получаю следующее сообщение об ошибке:
ExecuteNonQuery requires an open and available Connection. The connection's current state is closed.
Я пытался найти это, но исправления, которые мне удалось найти, либо не работали, либо не применялись.
У меня есть следующий код:
using (SqlConnection conn = new SqlConnection(SQLConnectionString))
{
SqlDataAdapter dataAdapter = new SqlDataAdapter("SELECT [Col1] FROM [Table1] WHERE [Col2]='" + val2 + "'", conn);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
if (dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count != 1)
{
SqlCommand cmd = new SqlCommand("INSERT INTO [Table1] ([Col1], [Col2]) VALUES ('" + val1 + "', '" + val2 + "')", conn);
cmd.ExecuteNonQuery();
}
}
Примечание: я уверен, что у меня правильно настроены разрешения, так как Visual Studio может вставлять с тем же SQLConnectionString. Кроме того, я все еще плохо знаком с базами данных, поэтому, если я делаю что-то явно неправильно, пожалуйста, дайте мне знать.
Спасибо.