0
Q:

You develop a Windows-based application that enables to enter product sales. You add a subroutine named XYZ.

 

You discover that XYZ sometimes raises an IOException during execution. To address this problem you create two additional subroutines named LogError and CleanUp. These subroutines are governed by the following rules:

• LogError must be called only when XYZ raises an exception.
• CleanUp must be called whenever XYZ is complete.

 

 You must ensure that your application adheres to these rules. Which code segment should you use?

A) try { XYZ(); LogError(); } catch (Exception e) { CleanUp(e); } B) try { XYZ(); } catch (Exception e) { LogError(e); CleanUp(); }
C) try { XYZ(); } catch (Exception e) { LogError(e); } finally { CleanUp(); } D) try { XYZ(); } catch (Exception e) { CleanUp(e); } finally { LogError(); }

Answer:   C) try { XYZ(); } catch (Exception e) { LogError(e); } finally { CleanUp(); }

Explanation:

We must use a try…catch…finally construct. First we run the Comapany() code in the try block.Then we use the LogError() subroutine in the catch statement since all exceptions are handled here. Lastly we put the CleanUp() subroutine in the finally statement since this code will be executed regardless of whether an exception is thrown or not.

Q:

You develop an inventory management application called XYZManagement that will call a Microsoft SQL Server stored procedure named sp_GetDailyXYZSales. The stored procedure will run a query that returns your daily sales total as an output parameter. This total will be displayed to users in a message box.


Your application uses a SqlCommand object to run sp_GetDailyXYZSales. You write the
following code to call sp_GetDailyXYZSales:
SqlConnection cnn = new SqlConnection(myConnString);
SqlCommand cmd = new SqlCommand(“sp_GetDaily XYZ Sales”, cnn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter prm = cmd.Parameters.Add(“@ItemTotal”,SqlDbType.Int);
prm.Direction = ParameterDirection.Output;
cnn.Open();
cmd.ExecuteNonQuery();


Now you must write additional code to access the output parameter. Which code segment should you use?

A) MessageBox.Show(?Total is: ? + cmd.Parameters[?@Output?].Value.ToString()); B) MessageBox.Show(?Total is: ? + cmd.Parameters[?@Output?].ToString());
C) MessageBox.Show(?Total is: ? + cmd.Parameters[?@ItemTotal? D) MessageBox.Show(?Total is: ? + cmd.Parameters[?@ItemTotal?
 
Answer & Explanation Answer: C) MessageBox.Show(?Total is: ? + cmd.Parameters[?@ItemTotal?

Explanation:

The @ItemTotal parameter is declared as an output parameter with SQL Server data type INT.We use the Value property of the SQLParameter class to retrieve the value of this parameter. We must also convert the INT value to a string value with the ToString method. We then supply this string to the MessageBox.Show method. 

 

Incorrect Answers


Option A, B:
The @ItemTotal parameter is the output parameter. Using @Output this way is incorrect. Output is a keyword and no variable named @Output has been declared.


Option D:
We must use the Value method to retrieve the value of the parameter..

Report Error

View Answer Workspace Report Error Discuss

0 638
Q:

You develop an enterprise application, called XYZApplication that includes a Windows Form presentation layer, middle-tier components for business logic and data access, and a Microsoft SQL Server database.


You are in the process of creating a middle-tier component that will execute the data access routines in your application. When data is passed to this component, the component will call several SQL Server stored procedures to perform database updates. All of these procedure calls run under the control of a single transaction.


The code for the middle-tier component will implement the following objects:
SqlConnection cn = new SqlConnection();
SqlTransaction tr;


If two users try to update the same data concurrently, inconsistencies such as phantom reads will occur. You must now add code to your component to specify the highest possible level of protection against such inconsistencies.
Which code segment should you use?

A) tr = cn.BeginTransaction(?ReadCommitted?); B) tr = cn.BeginTransaction(IsolationLevel.ReadCommitted);
C) tr = cn.BeginTransaction(IsolationLevel.Serializable); D) tr = cn.BeginTransaction(?Serializable?);
 
Answer & Explanation Answer: C) tr = cn.BeginTransaction(IsolationLevel.Serializable);

Explanation:

Serializable is the highest isolation transaction level. It provide the highest possible level of protection against concurrent data errors. The correct syntax to begin a transaction with this transaction isolation level is: cn.BeginTransaction(IsolationLevel.Serializable)

Report Error

View Answer Workspace Report Error Discuss

0 612
Q:

You use Visual Studio .NET to create an assembly, called XYZAssembly, that will be used by other applications, including a standard COM client application.


You must deploy your assembly on the COM application to a client computer. You must ensure that the COM application can instantiate components within the assembly as COM components.

What should you do?

A) Create a strong name of the assembly by using the Strong Name tool (Sn.exe). B) Generate a type library for the assembly by using the Type Library Importer (Tlbimp.exe). Register the file on the client computer.
C) Generate a registry file for the assembly by using the Assembly Registration tool (Regasm.exe) Register the file on the client computer. D) Deploy the assembly to the global assembly cache on the client computer. Add a reference to the assembly in the COM client application.
 
Answer & Explanation Answer: C) Generate a registry file for the assembly by using the Assembly Registration tool (Regasm.exe) Register the file on the client computer.

Explanation:

The Assembly Registration tool reads the metadata within an assembly and adds the necessary entries to the registry, which allows COM clients to create .NET Framework classes transparently. Once a class is registered, any COM client can use it as though the class were a COM class..

 

Incorrect Answers:

Option A:
The Strong Name tool helps sign assemblies with strong names.


Option B:
The Type Library Importer, tlbimp.exe, converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. It would not be useful in this scenario however.


Option D:
This would not allow the COM application to use the class.

Report Error

View Answer Workspace Report Error Discuss

0 600
Q:

You create an assembly by using Visual Studio .NET. The assembly is responsible for writing and reading order entry information to and from an XML data file. The assembly also writes and reads values to and from the Windows registry while it is being consumed.

 

The assembly will be distributed to client computers by using your company, XYZ, intranet. All client computers are configured to implement the default .NET security policy.

 

You need to implement security in the assembly. What should you do?

A) Implement declarative security and execute the permission demand to allow access to the file system and Windows registry. B) Implement declarative security and execute the minimum permission request to allow access to the file system and Windows registry.
C) Implement imperative security and execute the permission demand to allow access to the file system and Windows registry. D) Implement imperative security and execute the minimum permission request to allow access to the file system and Windows registry.
 
Answer & Explanation Answer: B) Implement declarative security and execute the minimum permission request to allow access to the file system and Windows registry.

Explanation:

You can use declarative code access security to request permissions for the entire assembly. SecurityAction flags that can be specified in an assembly-wide directive. When SecurityAction.RequestMinimum is specified, it makes a request to the common language runtime to be granted the requested permission. If the requested permission is not granted by the security policy, the assembly will not execute. A  Security Action.RequestOptional is similar, but the assembly will still run even if the requested permission is not granted. Specifying security Action. RequestRefuse requests that the assembly be denied the specified permission.

 

You must use the Assembly (assembly) directive when specifying these actions as follows: 

 

Option A:

There are only three Security actionAttributes targets for an assembly: RequestMinimumAssembly, RequestOptionalAssembly, and RequestRefuseAssembly. 

 

 Option C, D:

Imperative security does not work well to configure security for an entire assembly. In imperative security, permission to execute is demanded at run time.

Report Error

View Answer Workspace Report Error Discuss

0 498
Q:

You use Visual Studio .NET to create a Windows-based application. The application includes a form named XYZProcedures (EXP). EXP allows users to enter very lengthy text into a database. When users click the Print button located on EXP, this text must be printed by the default printer.

 

You implement the printing functionality by using the native .NET System Class Libraries with all default settings.

 

Users report that only the first page of the text is being printed.

How should you correct this problem?

A) In the BeginPrint event, set the HasMorePages property of the PrintEventArgs object to True. B) In the EndPrint event, set the HasMorePages property of the PrintEventArgs object to True.
C) In the PrintPage event, set the HasMorePages property of the PrintPageEventArgs object to True. D) In the QueryPageSettings event, set the HasMorePages property of the QueryPageSettingEventArgs object to True.
 
Answer & Explanation Answer: C) In the PrintPage event, set the HasMorePages property of the PrintPageEventArgs object to True.

Explanation:

PrintDocument.PrintPage Event occurs when the output to print for the current page is needed. This event has the HasMorePages property which gets or sets a value indicating whether an additional page should be printed.

Report Error

View Answer Workspace Report Error Discuss

0 564