mọi người tôi là sinh viên và mới với .NET và đặc biệt là phát triển MVC3 nhưng đối với một dự án của tôi, tôi đã nghiên cứu và thực hiện giai đoạn học tập Vấn đề và sự nhầm lẫn tôi đang gặp phải là liên quan đến DB-Khả năng kết nối, whast tôi leanree d liên quan đến lấy hồ sơ từ một cơ sở dữ liệu là một cái gì đó như thế này:Nhầm lẫn giữa SqlCommand & 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.
Nhưng trong khi tôi đang kiểm tra MSDN Library tôi phát hiện ra rằng SqlDataAdapter cung cấp một nhà xây dựng SqlDataAdapter (string, string) trực tiếp mất một SelectCommand và một chuỗi kết nối để bắt đầu do đó bỏ qua vai trò của SqlCommand ở giữa, như sau:
//Method Two:
var conn = new SqlConnection(conString.ConnectionString);
const string cmdString = "Select * FROM table";
var mySqlDataAdapter = new SqlDataAdapter(cmdString, conn);
mySqlDataAdapter.Fill(myDataSet, "design");
Trông ngắn và đẹp với tôi, Nhưng tôi bối rối ở đây rằng nếu điều này có thể theo cách này thì tại sao hầu hết sách/giáo viên đi trước đó (cách của SqlCommand).
- Điều gì thực sự là sự khác biệt giữa SqlCommand và SqlDataAdapter?
- Phương pháp nào tốt hơn một hoặc hai?
- Tôi sợ rằng tôi đang sử dụng lối tắt trong phương pháp hai có thể ảnh hưởng đến bảo mật hoặc hiệu suất khôn ngoan?
Xin lỗi trước nếu tôi phát âm người mới chơi hoặc bị mờ! Sẽ đánh giá cao bất kỳ trợ giúp nào có thể xóa các khái niệm của tôi! Cảm ơn bạn! :)
Điều đó không trả lời được câu hỏi. Hơn nữa, đôi khi LINQ không có sẵn. Ví dụ, nó không có sẵn trong phiên bản .NET CE trước phiên bản 3.5. –