Я создал небольшое приложение, которое запрашивает базу данных db2 и возвращает информацию. Я создал форму окна, которая принимает ввод и возвращает информацию из запроса. Мое заключительное заявление является:Закрыть SQL-соединение в форме Закрыть (C#)
finally { conn.close(); }
мне было интересно - делает соединение (Conn) на самом деле близко, когда я попал в маленькую красную коробку на форме? Я искал другие вопросы здесь и в Интернете, но не смог найти окончательного ответа.
Вот полные примерки всеобъемлющих наконец блок (с некоторой информацией запутанном -> *****):
`попробовать {
conn.Open();
string queryString = String.Format("SELECT * " +
"FROM ***** " +
"WHERE USERPRF LIKE '%{0}%' " +
"ORDER BY TIMESTMP DESC " +
"FETCH FIRST 1 ROWS ONLY", userNameInput);
using (OdbcCommand com = new OdbcCommand(queryString, conn))
{
using (OdbcDataReader reader = com.ExecuteReader())
{
if (reader.Read())
{
string ***** = reader["*****"].ToString();
string ***** = reader["*****"].ToString();
string user = reader["USERPRF"].ToString();
string timeStamp = reader["TIMESTMP"].ToString();
listBox1.Items.Clear();
listBox1.Items.Add("Username: " + user);
listBox1.Items.Add("*****" + *****);
listBox1.Items.Add("*****: " + *****);
listBox1.Items.Add("Last Changed: " + timeStamp);
}
else
{
listBox1.Items.Clear();
listBox1.Items.Add("There was no data to return! Try again.");
}
}
}
}
catch (Exception ex)
{
string errorMessage = ex.Message;
}
finally
{
conn.Close();
}`
Если ваше приложение является единственным приложением только для одной формы, и вы закрываете приложение, соединение не будет оставаться открытым. Но вы показали как часть блока catch try, поэтому нам нужно будет увидеть полный try catch, чтобы рассказать вам, что происходит. – nabuchodonossor