모두 저는 학생이며 .NET과 특별히 MVC3 개발에 익숙하지 않지만 프로젝트 중 하나에 대해서는 학습 단계를 거쳐야하므로 문제와 혼란이 있습니다. 나는 데이터베이스에서 레코드를 검색에 관한 거라고 leanree whast DB-연결성에 관한 것은이 같은 것입니다 :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.
하지만 MSDN Library 체크 아웃하는 동안 나는 SqlDataAdapter를이 생성자 SqlDataAdapter를 (문자열, 문자열)를 제공 사실을 발견 직접 SelectCommand 및 연결 문자열을 사용하여 SqlCommand 역할을 건너 뛰고 다음과 같이 시작합니다.
//Method Two:
var conn = new SqlConnection(conString.ConnectionString);
const string cmdString = "Select * FROM table";
var mySqlDataAdapter = new SqlDataAdapter(cmdString, conn);
mySqlDataAdapter.Fill(myDataSet, "design");
내게 짧고 예쁘게 보입니다.하지만이 방법으로 가능하다면 책/교사의 대부분이 이전 (SqlCommand의 방식)으로가는 이유는 여기에서 혼란 스럽습니다.
- 실제로 SqlCommand와 SqlDataAdapter의 차이점은 무엇입니까?
- 어떤 방법이 더 좋습니까 하나 또는 두 가지?
- Am는 보안이나 성능에 현명한 영향을 미칠 수있는 방법 2의 바로 가기를 사용하고 있습니까?
매우 신참하거나 흐리게 들으면 미리 사과하십시오! 내 개념을 정리할 수있는 도움을 주시면 감사하겠습니다! 고맙습니다! :)
그 질문에 답하지 못했습니다. 또한 때때로 LINQ를 사용할 수 없습니다. 예를 들어, 버전 3.5 이전의 .NET CE 버전에서는 사용할 수 없습니다. –