każdy jestem studentem i nowicjuszem w projektowaniu .NET, a szczególnie MVC3, ale dla jednego z moich projektów muszę nad nim pracować i przejść przez fazę uczenia się Problem i dezorientacja, z jakimi mam do czynienia to dotyczące DB-łączność, whast I leanree d Dokładnie dotyczące pobierania rekordów z bazy danych jest mniej więcej tak:Confused między SqlCommand i SqlDataAdapter
//Method One:
var conn = new SqlConnection(conString.ConnectionString);
const string cmdString = "Select * FROM table";
var cmd = new SqlCommand(cmdString, conn);
var mySqlDataAdapter = new SqlDataAdapter(cmd);
mySqlDataAdapter = new SqlDataAdapter(cmd);
mySqlDataAdapter.Fill(myDataSet, "design");
// making a new SqlCommand object with stringQuery and SqlConnection object THEN a new SqlDataAdapter object with SqlCommand object and THEN filling up the table with the resulting dataset.
Ale kiedy byłem sprawdzeniu MSDN Library okazało się, że SqlDataAdapter oferuje konstruktorów SqlDataAdapter (String, String), które bezpośrednio pobiera SelectCommand i ciąg połączenia, aby zainicjować w ten sposób pomijając rolę SqlCommand pomiędzy, jak to:
//Method Two:
var conn = new SqlConnection(conString.ConnectionString);
const string cmdString = "Select * FROM table";
var mySqlDataAdapter = new SqlDataAdapter(cmdString, conn);
mySqlDataAdapter.Fill(myDataSet, "design");
Wygląda krótko i ładnie, ale jestem zdezorientowany, że jeśli jest to możliwe w ten sposób, to dlaczego większość książek/nauczycieli przechodzi wcześniej (sposób SqlCommand).
- Czym właściwie jest różnica między SqlCommand i SqlDataAdapter?
- Która z metod jest lepsza Jedna lub dwie?
- Obawiam się, że używam skrótu w metodzie drugiej, który może mieć wpływ na bezpieczeństwo lub wydajność?
Przepraszam z góry, jeśli brzmię bardzo nowicjusz lub rozmazany! Doceniam każdą pomoc, która może oczyścić moje koncepcje! Dziękuję Ci! :)
To nie odpowiadało na pytanie. Ponadto czasami LINQ nie jest dostępny. Na przykład nie jest dostępny w wersji .NET CE przed wersją 3.5. –