все, я студент и новичок в .NET и особенно в разработке MVC3, но для одного из моих проектов мне нужно поработать над ним, и поэтому я прохожу фазу обучения. относительно извлечения записей из базы данных примерно так:
//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, я обнаружил, что SqlDataAdapter предлагает конструкторы SqlDataAdapter(String, String), которые напрямую принимают 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?
- Какой метод лучше Один или Два?
- Боюсь, что я использую ярлык во втором методе, который может повлиять на безопасность или производительность?
Заранее извиняюсь, если я звучу очень новичком или размыто! Буду признателен за любую помощь, которая могла бы прояснить мои концепции! Спасибо! :)