|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
You use Visual Studio .NET to develop a Microsoft Windows-based application. Your application contains a form named CustomerForm, which includes the following design-time controls: - SQLConnection object named MyConnection - SQLDataAdapter object named MyDataAdapter - DataSet object named CustomerDataSet - Five TextBox controls to hold the values exposed by CustomerDataSet - Button control named saveButton At design time you set the DataBindings properties of each TextBox control to the appropriate column in the DataTable object of CustomerDataSet. When the application runs, users must be able to edit the information displayed in the text boxes. All user changes must be saved to the appropriate database when saveButton is executed. The event handler for saveButton includes the following code segment: MyDataAdapter.Update(CustomerDataSet); You test the application. However, saveButton fails to save any values edited in the text boxes. You need to correct this problem. What should your application do? A. Call the InsertCommand method of MyDataAdapter. B. Call the Update method of MyDataAdapter and pass in MyConnection. C. Before calling the Update method, ensure that a row position change occurs in CustomerDataSet. D. Reestablish the database connection by calling the Open method of MyConnection. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2004, 09:28 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
"А" неверен, потому что данные могли быть не только вставлены, но и изменены. "В" неверено, потому что Update принимает только датасет. "С" - row _position_ change. Причем здесь position? Остается "D". Да и в мсдн пример дан такой, что там перед апдейт открывается коннекшн. ms-help://MS.VSCC.2003/MS.MSDNQTR.2003JUL.1033/cpref/html/frlrfsystemdatacommondataadapterclassupdatetopic.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2004, 10:38 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
На самом деле, все четыре ответа бредовые. A. Ответ нельзя считать верным, потому что InsertCommand - это свойство, а не метод. B. У метода Update нет сигнатуры, требующей в качестве параметра объект Connection. C. Ответ напрочь сумасшедший по двум причинам: позиция в самом деле не в DataSet меняется, а в CurrencyManager или BindingManagerBase; кроме того, если уж TextBox правильно зацеплен за поле, то этого достаточно, чтобы ловить изменения. D. Адаптер сам аккуратно работает с соединением. Открывает, если надо, для выполнения своих действий. Закрывает, если до действия соединение было закрыто (в общем, оставляет в том же состоянии, что и до его работы). Так что я просто не смог выбрать ни один вариант. Но вот "правильный" ответ меня поразил: вариант B . We must specify the Data Source as well. The Data Source is specified with the SQLConnection object. We should issue the following command: TestKingDataAdapter.Update(CustomerDataSet, TestKingConnection); P.S. И черт с ним, с TestKing. Но ведь и в Transcender серьезные ошибки встречаются! Так и хочется по-старчески бубнить: "Куда катится этот мир?" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2004, 11:31 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
Если этот "правильный" ответ взят из тесткинга, то советую найти версию поновее. Сам видел, что в первых версиях даются абсолютно бредовые ответы. В данном случае я за ответ D, потому что в мсдн дают пример, где перед апдейт открывается коннект. Всегда надо помнить, что нужно выбрать не "correct" ответ, а "best". Т.е. наиболее подходящий! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2004, 12:16 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
Уж очень скептически отношусь к TestKing'ам, так что особо не стараюсь при поисках Q&A от них. Но вот эта версия, из которой я пример дал, точно самая последняя на данный момент. Ну их в... туда, короче. :) Относительно выбора ответа теперь с Вами согласен. Действительно, лучше уж выбрать тот, что хотя бы сработает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2004, 16:44 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
You develop a Windows-based application to manage inventory for TestKing inc. The application calls a Microsoft SQL Server stored procedure named sp_UpdatePrices. sp_UpdateTKPrices performs a SQL UPDATE statement that increases prices for selected items in an inventory table. It returns an output parameter named @totalprice and a result set that contains all of the records that were updated. @totalprice contains the sum of the prices of all items that were updated. You implement a SqlCommand object that executes sp_UpdateTKPrices and returns the results to a SqlDataReader object. The SqlDataReader object gives you access to the data in the result set. Which is displayed in a list box on your Windows Form. The value of @totalprice must also be displayed in a text box on your Windows Form. You need to write code that will retrieve this value. Which code segment should you use? A. while (reader.Read() { TextBox1.Text = com.Parameters["@totalprice"].Value.ToString(); } reader.Close(); B. do { TextBox1.Text = com.Parameters["@totalprice"].Value.ToString(); } while (reader.Read()); reader.Close(); C. TextBox1.Text = com.Parameters["@totalprice"].Value.ToString(); reader.Close(); D. reader.Close(); TextBox1.Text = com.Parameters["@totalprice"].Value.ToString(); Утверждается, что верный ответ - C : "First we retrieve the output parameter from the Dataset. Then we close the SQLDataReader". Это просто праздник какой-то, (тут матерное слово). Написано же в документации ясно: "The Close method fills in the values for output parameters, return values and RecordsAffected..." Что-то все больше боюсь идти на экзамен. А ну как и там такие ляпы будут? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2004, 08:55 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
ИМХО бред. "Д" правильный ответ. Даже по идеологии МС - коннект должен быть открыт минимально возможное время. Это еще одно косвенное подтверждение правильности ответа Д. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2004, 10:10 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
Да понятно, какой ответ правильный. Это ведь тривиально. Я вот к чему клоню: считается, что за это люди деньги выкладывают, готовятся по таким вот рекомендациям, да еще им гарантию успешной сдачи экзамена дают. Надо ведь ответственно подходить к таким вещам, будь ты хоть лидер (как Transcender), хоть рядовой (как TestKing). Обидно, грустно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2004, 12:03 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
В каждом сборнике от тесткинга есть ошибки в ответах. Взять хотя бы устоявшийся уже тесткинг по 70-229. Те, кто сдают на 100% по нему, не получают максимума баллов. Вывод - в нем есть ошибки. У меня тоже есть основания так полагать. ИМХО дампы следует использовать для знакомства с вопросами (если совесть позволяет), а не с ответами. Понимание специфики вопросов сильно помогает в поиске правильного ответа. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2004, 12:35 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
О, да! Это обсуждалось уже не раз. Согласен с Вашими словами на все 100. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2004, 15:52 |
|
Подготовка к 070-316 :: Вопрос
|
|||
---|---|---|---|
#18+
Тесткинговские зайчики меня особенно очаровывают не тем, что иногда дают неправильные ответы, но тем, что подробнейшим образом объясняют, почему совершенно бредовый ответ - правильный! Впрочем, там и в вопросах ошибки встречаются. То очепятку сделают, то часть текста проглотят. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.04.2004, 22:14 |
|
|
start [/forum/topic.php?fid=34&msg=32450921&tid=1551959]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 234ms |
total: | 492ms |
0 / 0 |