Tu sti cel mai bine care sunt sansele sa te intrebe cand deschizi si inchizi conexiunea insa eu as urma sfatul lui Andrei si as incerca sa deshid conexiunea cat mai tarziu si sa o tin deschisa cat mai putin timp;
Plus de asta mie imi place sa folosesc un bloc
Try Catch cand o
deschid:private void btn_Connect_Click(object sender, System.EventArgs e)
{
this.sqlConn.ConnectionString = this.connection_string;
try
{
this.sqlConn.Open();
if(this.sqlConn.State.Equals(System.Data.ConnectionState.Open))
{
// aici pui ce setari ai de facut (eu am facut un label vizibil care zice sa e conectat - probabil ca exista variante mai elegante)
this.lbl_Stare.Visible = true;
//this.btn_Disconnect.Enabled = true;
//this.btn_Connect.Enabled = false;
//this.btn_Generate.Enabled = false;
//this.btn_Ok.Enabled = true;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(),"conexiunea nu s-a putut realiza");
//this.btn_Ok.Enabled = false;
}
}
acolo unde folosesc conexiunea procedez asa: if(this.sqlConn.State.Equals(System.Data.ConnectionState.Open))
{
// codul care foloseste conexiunea
}
si o inchid cam asa:private void btn_Disconnect_Click(object sender, System.EventArgs e)
{
this.sqlConn.Close();
if(this.sqlConn.State.Equals(System.Data.ConnectionState.Closed))
{
this.lbl_Stare.Visible = false;
//this.btn_Disconnect.Enabled = false;
//this.btn_Connect.Enabled = true;
//this.btn_Generate.Enabled = true;
}
}
PS: acesta e cod dintr-o aplicatie care se leaga la SqlServer, pt MySql sunt cateva modificari de facut dupa modelul aratat de Andrei
Important: eu nu as coda in program continutul variabilei
connection_string (probabil ca sti deja dar mai bine sa repet)
Si o
intrebare pt Andrei: Sti vre-o clasa eleganta si flexibila care sa permita conectarea la baze de date? - eu am o clasa facuta mai din topor (nu stau foarte bine la POO) dar care lucreaza satisfacator insa numai pe MS SQL Server (pt SQL Client)