所以我注意到在我的代碼中我有很多重複連接字符串,並決定清理它一點點。C#SQL連接類連接問題中的字符串
我的問題是,現在用using (InfoTableConnection = new SqlConnection(infoTableConnString))
時但是,如果我不使用using
它工作得很好,我已經把連接字符串成一個單獨的類,我可以不再打開連接。
我不是很理解它是如何工作的我猜。這裏是我的代碼,如果有人能夠解釋一旦它被引入到一個類和/或如何解決它到底發生了什麼。
連接類: MainForm.cs
private void zGradeCombo()
{
try
{
//Connection string from class.
Connection connInfoTable = new Connection();
connInfoTable.InfoConnection();
SqlCommand cmd = new SqlCommand();
cmd.Connection = Connection.InfoTableConnection;
cmd.CommandText = "SELECT * FROM [dbo].[Item] ORDER by [Type] ASC";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
cmbType.Items.Add(reader["Type"].ToString());
}
//Close connection from "Connection" class
Connection.InfoTableConnection.Close();
}
//Catch Exception
catch (Exception ex)
{
MessageBox.Show(this, ex.Message, "SQL ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
'using'關鍵字在它離開使用塊後處理有問題的對象,所以你的連接只有在調用InfoTableConnection.Open();'之後才存在,然後它將被丟棄 –
因此,打開後的連接無法在類中使用並從單獨的窗體調用它? – Mokey
它可以,如果你不使用'使用',但你將不得不調用'InfoTableConnection.Dispose()'當你完成 –