나는 항상 Google에서 내 대답을 찾으려고했지만 내 질문에 부분적으로 만 대답을 찾았습니다.CING # USING의 데이터베이스 연결 사용 여부
제 질문은 : 데이터베이스에 연결하는 동안 더 좋은 방법은 무엇입니까 : USING
과 함께 사용하거나 사용하지 마십시오. 나는 C#으로 시작 (하지만 PHP에서 몇 가지 기술을 가지고)로 지금은
가, 내가 좋아 아래 USING
방법 온라인 학습 : 구글에
string conString = Properties.Settings.Default.mattDatabaseConnectionString;
using (SqlCeConnection con = new SqlCeConnection(conString))
{
using (SqlCeCommand query = new SqlCeCommand("SELECT * FROM customers", con))
{
SqlCeDataReader reader = query.ExecuteReader();
}
}
, 나는의 사용은 사용 발견 ExecuteReader
을 닫는 것을 잊지 말고 SqlCeCommand
을 처분하십시오. 그러나 당신은 또한 (예 MSDN에서했다) 다음과 같은없이 그것을 만들 수 있습니다 :
SqlCeConnection conn = null;
SqlCeCommand cmd = null;
SqlCeDataReader rdr = null;
try
{
// Open the connection and create a SQL command
//
conn = new SqlCeConnection("Data Source = AdventureWorks.sdf");
conn.Open();
cmd = new SqlCeCommand("SELECT * FROM DimEmployee", conn);
rdr = cmd.ExecuteReader();
// Iterate through the results
//
while (rdr.Read())
{
int employeeID = rdr.GetInt32(0); // or: rdr["EmployeeKey"];
string lastName = rdr.GetString(5); // or: rdr["FirstName"];
}
// Always dispose data readers and commands as soon as practicable
//
rdr.Close();
cmd.Dispose();
}
finally
{
// Close the connection when no longer needed
//
conn.Close();
}
나는 위의 두 방법을 알고 동일하지만 무슨 숙련 된 프로그래머와 이유를위한 최선의 방법입니다. 아마 적은 문자에 대한 두 번째 ??
그리고 SqlCeEonnection conn = null;
이고 다른 2 개는 정말 필요합니까 ??
고마워
더 읽기 쉬운 것을 사용하십시오. 내 생각에'using'은 덜 장황하고 _ _ "sqlceconnection conn = null needed"_와 같은 질문을 제기하지 않습니다. –
당신은이 2 가지 방법을 동등하게 만들기 위해 닫히기 전에'conn'을 체크해야합니다. –
아무도 [IDisposable] (http://msdn.microsoft.com/en-us/library/system)을 언급 한 것이 놀랍습니다. idisposable (v = vs.110) .aspx) 인터페이스,'Dispose()'메소드 또는 가비지 콜렉션이 아직 없습니다. 허락하신다면, 데이터베이스 연결에 관한 질문이 있지만 SQL Server 나 코딩 스타일에 관한 것만 큼 .Net 프로그래밍에 관한 것입니다. – DMason