display pdf winform c# : Rotate a pdf page SDK application API .net azure wpf sharepoint 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200747-part674

The ConnectionString Property
This property is used to provide ADO, and the OLE DB provider you are using, with the information
required to connect to the data source. The connection string consists of a semicolon-delimited series of
arguments in the form of “name=value;” pairs.
For the purposes of this chapter, the only ADO argument used is the Providerargument. The Provider
argument tells ADO which OLE DB provider to use. All other arguments in connection strings presented in
this chapter will be specific to the OLE DB provider being used. ADO will pass these arguments directly
through to the provider. The following sample code demonstrates how to create a connection string to the
Northwind database using the Access 2007 OLE DB provider:
objConn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Northwind 2007.accdb”
The only argument specific to ADO in the connection string is the Provider argument. All other argu-
ments are passed directly through to the specified OLE DB provider. If a different provider were being
used, the arguments would be different as well. You will see this when you begin to connect to various
data sources in the example sections. The Provider argument to the connection string is optional. If no
provider is specified, ADO uses the OLE DB provider for ODBC by default.
The ConnectionTimeout Property
This property specifies how many seconds ADO will wait for a connection to complete before canceling
the attempt and raising an error. The default value is 15 seconds. If you have a situation where connec-
tions normally take a long time to complete, you can increase this number so ADO doesn’t terminate the
connection attempt prematurely. The following code sample changes the timeout value on the connec-
tion to 30 seconds:
objConn.ConnectionTimeout = 30
The State Property
The Stateproperty allows you to determine whether a connection is open, closed, connecting, or execut-
ing a command. The value will be a bit mask containing one or more of the following ObjectStateEnum
constants:
adStateClosed—The connection is closed
adStateOpen—The connection is open
adStateConnecting—The object is in the process of making a connection
adStateExecuting—The connection is executing a command
If you attempt to close a Connection object that is already closed, you will cause an error. You can pre-
vent this from occurring by testing the state of the Connection object before closing it:
If CBool(objConn.State And adStateOpen) Then objConn.Close
438
Chapter 20: Data Access with ADO
Rotate a pdf page - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
rotate a pdf page; rotate pages in pdf online
Rotate a pdf page - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
rotate pdf page and save; reverse page order pdf online
Connection Object Methods
This section examines the Connection object’s more important methods, all of which have self-explana-
tory names.
The Open Method
This method opens a connection to the data source, and has the following syntax:
connection.Open ConnectionString, UserID, Password, Options
The ConnectionString argument serves the same purpose as the ConnectionString property dis-
cussed in the previous section. ADO allows you to set this property in advance or pass it in at the time
you open the connection. The UserID and Password arguments can be passed separately from the con-
nection string if you wish.
The Options argument is particularly interesting. This argument allows you to make your connection
asynchronously. That is, you can tell your Connection object to go off and open the connection in the
background while your code continues to run. You do this by setting the Options argument to the
ConnectOptionEnumvalue adAsyncConnect. The following code sample demonstrates making an
asynchronous connection:
objConn.Open Options:=adAsyncConnect
This is especially useful in situations where you have lengthy connection times, because it allows you to
connect without freezing your application during the connection process.
The Execute Method
This method executes the command text provided to its CommandTextargument. The Execute method
has the following syntax for an action query (one that does not return a resultset):
connection.Execute CommandText, [RecordsAffected], [Options]
And for a select query:
Set Recordset = connection.Execute(CommandText, _
[RecordsAffected], [Options])
The CommandText argument can contain any executable string recognized by the OLE DB provider.
However, it will most commonly contain a SQLstatement. The optional RecordsAffected argument is
a return value that tells you how many records the CommandText operation has affected. It’s a good idea
to check this value against the number of records that you expected to be affected, so you can detect
potential errors in your command text.
The Options argument is crucial to optimizing the execution efficiency of your command. Therefore,
you should always use it even though it’s nominally optional. The Optionsargument allows you to
relay two different types of information to your OLE DB provider: what type of command is contained
in the CommandText argument, and how the provider should execute the contents of the CommandText
argument.
439
Chapter 20: Data Access with ADO
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
XDoc.PDF ›› VB.NET PDF: Delete PDF Page. using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; How to VB.NET: Delete a Single PDF Page from PDF File.
rotate individual pages in pdf; pdf page order reverse
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
PDF Pages. |. Home ›› XDoc.PDF ›› VB.NET PDF: Insert PDF Page. Professional .NET PDF control for inserting PDF page in Visual Basic .NET class application.
rotate pages in pdf and save; pdf rotate pages and save
To execute the CommandText, the OLE DB provider must know what type of command it contains. If
you don’t specify the type, the provider will have to determine that information for itself. This will slow
down the execution of your query. You can avoid this by specifying the CommandText type using one of
the following CommandTypeEnumvalues:
adCmdText—The CommandTextis a raw SQLstring.
adCmdTable—The CommandTextis the name of a table. This sends an internally generated
SQLstatement to the provider that looks something like “SELECT*FROMtable_name”.
adCmdStoredProc—The CommandTextis the name of a stored procedure (stored procedures
are covered in the section “Using ADO with Microsoft SQLServer”).
adCmdTableDirect—The CommandTextis the name of a table. However, unlike adCmdTable,
this option does not generate a SQLstatement and therefore returns the contents of the table
more efficiently. Use this option if your provider supports it.
You can provide specific execution instructions to the provider by including one or more of the
ExecuteOptionEnumconstants:
adAsyncExecute—Tells the provider to execute the command asynchronously, which returns
execution to your code immediately.
adExecuteNoRecords—Tells the provider not to construct a Recordsetobject. ADO will
always construct a recordset in response to a command, even if your CommandText argument is
not a row-returning query. To avoid the overhead required to create an unnecessary recordset,
use this value in the Options argument whenever you execute a non-row-returning query.
The CommandTypeEnumand ExecuteOptionEnum values are bit masks that can be combined together in
the Options argument using the logical Or operator. For example, to execute a plain text SQLcommand
and tell ADO not to construct a Recordset object, you would use the following syntax:
szSQL = “DELETE FROM Customers WHERE CustomerID = ‘XXXX’”
objConn.Execute szSQL, lNumAffected, adCmdText Or adExecuteNoRecords
If lNumAffected <> 1 Then MsgBox “Error executing SQL statement.”
The Close Method
This method closes the connection to the data source. Simply closing the connection does not destroy 
the Connection object. To destroy the Connection object and free its memory, you need to set the
Connectionobject variable to Nothing. For example, to ensure that a Connectionobject variable is
closed and removed from memory, you would execute the following code:
If CBool(objConn.State And adStateOpen) Then objConn.Close
Set objConn = Nothing
Connection Object Events
Connectionobject events must be trapped by creating a WithEventsConnectionobject variable in a
class module. Trapping these events is necessary whenever you are using a Connection object asyn-
chronously, because these events are what notify your application that the Connection object has com-
pleted its task.
440
Chapter 20: Data Access with ADO
C# PDF Page Insert Library: insert pages into PDF file in C#.net
page processing functions, such as how to merge PDF document files by C# code, how to rotate PDF document page, how to delete PDF page using C# .NET, how to
how to reverse pages in pdf; rotate pages in pdf permanently
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. Demo Code: How to Delete a Single PDF Page from PDF File in C#.NET. How
permanently rotate pdf pages; pdf save rotated pages
Covering asynchronous connections is beyond the scope of this chapter. However, they are important
enough to deserve mention so you can pursue them further if you like. The two most commonly used
Connectionevents are:
ConnectComplete—Triggered when an asynchronous connection has been completed. You
can examine the arguments passed to this event to determine if the connection was successful 
or not.
ExecuteComplete—Triggered when an asynchronous command has finished executing.
Connection Object Collections
The Connectionobject has two collections, Errors and Properties.
Errors Collection
This collection contains a set of Error objects, each of which represents an OLE DB provider-specific
error (ADO itself generates run-time errors). The Errorscollection can contain not only errors, but also
warnings and even messages (generated by the T-SQLPRINT statement, for instance). The Errors col-
lection is very helpful in providing extra detail when something in your ADO code has malfunctioned.
When debugging ADO problems, you can dump the contents of the Errors collection to the Immediate
window with the following code:
For Each objError In objConn.Errors
Debug.Print objError.Description
Next objError
The Properties Collection
This collection contains provider-specific, or extended properties, for the Connection object. Some
providers add important settings that you will want to be aware of. Extended properties are beyond the
scope of this chapter.
The Recordset Object
Just as the most commonly used SQLstatement is the SELECT statement, the most commonly used ADO
object is the Recordset object. The Recordsetobject serves as a container for the records and fields
returned from a SELECT statement executed against a data source.
Recordset Object Properties
The examination of the Recordset object begins with a look at its important properties.
The ActiveConnection Property
Prior to opening the Recordset object, you can use the ActiveConnection property to assign an exist-
ing Connectionobject to the Recordset or a connection string for the recordset to use to connect to the
database. If you assign a connection string, the recordset will create a Connection object for itself. Once
the recordset has been opened, this property returns an object reference to the Connection object being
used by the recordset.
441
Chapter 20: Data Access with ADO
C# TIFF: How to Rotate TIFF Using C# Code in .NET Imaging
Convert Tiff to Jpeg Images. Convert Word, Excel, PowerPoint to Tiff. Convert PDF to Tiff. Move Tiff Page Position. Rotate a Tiff Page. Extract Tiff Pages.
pdf rotate single page; pdf rotate pages separately
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
and Paste PDF Pages. Page: Rotate a PDF Page. PDF Read. Text: Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from
pdf rotate all pages; how to save a pdf after rotating pages
The following code assigns a Connection object to the ActiveConnection property:
Set rsData.ActiveConnection = objConn
The following code assigns a connection string to the ActiveConnection property:
rsData.ActiveConnection = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Northwind 2007.accdb”
The BOF and EOF Properties
These properties indicate whether the record pointer of the Recordset object is positioned before the
first record in the recordset (BOF, or beginning of file) or after the last record in the recordset (EOF, or end
of file). If the recordset is empty, both BOF and EOF will be True. The following code example demon-
strates using these properties to determine if there is data in a recordset:
If Not rsData.EOF Then
‘ The Recordset contains data.
Else
‘ The Recordset is empty.
End If
Note that there is a difference between an empty recordset and a closed recordset. If you execute a query
that returns no data, ADO will present you with a perfectly valid open recordset, but one that contains
no data. Therefore, you should always verify that a recordset contains data using the previous method
prior to any attempt to access that data. Attempting to access data from an empty recordset will cause a
run-time error.
The CursorLocation Property
This property allows you to specify whether the server-side cursor engine or the client-side cursor
engine manages the records in the recordset. Acursor is the underlying object that manages the data in
the recordset. Certain operations require the cursor engine to be on one side or the other. This is explored
in more detail in the examples section.
This property must be set before the recordset is opened. If you do not specify a cursor location, the
default is server-side. You can set this property to one of the two CursorLocationEnum values, either
adUseClientor adUseServer. The following code sample demonstrates setting the cursor location to
client-side:
rsData.CursorLocation = adUseClient
The Filter Property
This property allows you to filter an open recordset so that only records that meet the specified condi-
tion are visible. The records that cannot be seen are not deleted, removed, or changed in any way, but are
simply hidden from normal recordset operations. This property can be set to a string that specifies the
filter you want to place on the records, or to one of the FilterGroupEnumconstants.
You can set multiple filters, and the records exposed by the filtered recordset will be only those records
that meet all of the conditions. To remove the filter from the recordset, set the Filter property to an
442
Chapter 20: Data Access with ADO
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
If using x86, the platform target should be x86. C#.NET Sample Code: Clone a PDF Page Using C#.NET. Load the PDF file that provides the page object.
pdf rotate single page and save; how to rotate one page in a pdf file
VB.NET PDF Page Replace Library: replace PDF pages in C#.net, ASP.
Existing PDF Pages. Page: Replace PDF Pages. Page: Move Page Position. Page: Copy, Paste PDF Pages. Page: Rotate a PDF Page. PDF Read. Text
how to reverse pages in pdf; reverse pdf page order online
empty string or the adFilterNone constant. The following code sample demonstrates filtering a record-
set so that it displays only company names that begin with the letter B. Note that the use of wildcards is
supported in a filter string:
rsData.Filter = “Company LIKE ‘B*’”
You can use the logical ANDOR, and NOT operators to set additional Filter property values:
rsData.Filter = “Company LIKE ‘B*’ AND [Country/Region] = ‘USA’”
The State Property
This is the same as the State property discussed in the section on the Connection object.
Recordset Object Methods
This section examines only five of the Recordset object’s methods, because they are the ones that you
are most likely to use.
The Open Method
This method opens the Recordset object and retrieves the data specified by the Source argument. The
Openmethod has the following syntax:
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
The Source argument tells the recordset what data it should retrieve. This is most commonly a SQL
string or the name of a stored procedure, but can also be the name of a table or a Command object.
The ActiveConnection argument can be a connection string or a Connection object that identifies 
the connection to be used. If you assign a connection string to the ActiveConnection argument, the
recordset will create a Connection object for itself.
The CursorTypeargument specifies the type of cursor to use when opening the recordset. This is set
using one of the CursorTypeEnum values. This chapter uses only the adOpenForwardOnly and
adOpenStaticcursor types. The first type will be used for normal queries, and using it means that the
recordset can be navigated in only one direction, from beginning to end, which is the fastest method for
accessing data. Note that the data in a forward-only recordset cannot be modified. The second type will
be used for disconnected recordsets and allows complete navigation. If you do not specify a cursor type,
adOpenForwardOnlyis the default.
The LockType argument specifies what type of locks the provider should place on the underlying data
source when opening the recordset. This is set using one of the LockTypeEnum values. This chapter uses
only the following two lock types, corresponding to normal and disconnected recordsets, respectively:
adLockReadOnlyand adLockBatchOptimistic.
The Options argument here is the same as the Options argument covered in the Connection object’s
Executemethod earlier in the chapter. It is used to tell the provider how to interpret and execute the
contents of the Source argument.
443
Chapter 20: Data Access with ADO
The Close Method
This method closes the Recordset object. This does not free any memory used by the recordset. To free
up the memory used by the Recordset object, you must set the Recordsetobject variable to Nothing.
The Move Methods
When a recordset is first opened, the current record pointer is positioned on the first record in the record-
set. The Movemethods are used to navigate through the records in an open recordset. They do this by
repositioning the Recordset object’s current record pointer. The following Move methods are used in
this chapter:
MoveFirst—Positions the current record pointer on the first record of the recordset.
MoveNext—Positions the current record pointer to the next record in the recordset.
The following code sample demonstrates common recordset navigation handling:
‘ Verify that the Recordset contains data.
If Not rsData.EOF Then
‘ Loop until we reach the end of the Recordset.
Do While Not rsData.EOF
‘ Perform some action on the current record’s data.
Debug.Print rsData.Fields(0).Value
‘ Move to the next record.
rsData.MoveNext
Loop
Else
MsgBox “Error, no records returned.”, vbCritical
End If
Pay particular attention to the use of the MoveNext method within the DoWhile loop. Omitting this is a
very common error and will lead to an endless loop condition in your code. The very first line of code
that you should place in the DoWhile loop is the call to MoveNext.
The NextRecordset Method
Some providers allow you to execute commands that return multiple recordsets. The NextRecordset
method is used to move through these recordsets. The NextRecordset method clears the current
recordset from the Recordset object, loads the next recordset into the Recordset object, and sets the
current record pointer to the first record in that recordset. If the NextRecordset method is called and
there are no more recordsets to retrieve, the Recordset object is set to Nothing. The following code
sample demonstrates the use of the NextRecordset method:
‘ Verify that the Recordset contains more data.
Do While Not rsData Is Nothing
‘ Loop the records in the current recordset.
Do While Not rsData.EOF
‘ Perform some action on the current record’s data.
Debug.Print rsData.Fields(0).Value
‘ Move to the next record.
rsData.MoveNext
Loop
444
Chapter 20: Data Access with ADO
‘ Return the next recordset
Set rsData = rsData.NextRecordset
Loop
Recordset Object Events
Recordsetobject events must be trapped by creating a WithEventsRecordsetobject variable in a class
module. Trapping these events is necessary whenever you are using a Recordsetobject asynchronously,
because these events are what notify your application that the Recordsetobject has completed its task.
Covering asynchronous recordset usage is beyond the scope of this chapter; however, the topic is impor-
tant enough to deserve mention so that you can pursue it further if you like. The two most commonly
used Recordset object events are:
FetchComplete—This event is fired after all of the records have been retrieved when opening
an asynchronous recordset.
FetchProgress—The provider fires this event periodically to report the number of records
retrieved so far during an asynchronous open operation. It is typically used to provide a visual
progress indicator to the user.
Recordset Object Collections
Finish your look at the Recordsetobject by examining its collections.
The Fields Collection
The Fields collection contains the values, and information about those values, from the current 
record in a Recordset object. In Excel, the Fields collection is most commonly used to return the col-
umn names of each field in the recordset, prior to accessing the contents of the recordset using the
CopyFromRecordsetmethod of the Rangeobject. The following example demonstrates how to read 
the field names from the Fields collection of a Recordset object:
With Sheet1.Range(“A1”)
For Each objField In rsData.Fields
.Offset(0, lOffset).Value = objField.Name
lOffset = lOffset + 1
Next objField
End With
The Properties Collection
This collection contains provider-specific or extended properties for the Recordset object. Some
providers add important settings—called extended properties—that you will want to be aware of. The
most important extended properties of each provider are covered in that provider’s section.
The Command Object
The Command object is most commonly used for executing action queries. Action queries are queries that
perform some action on the data source and do not return a resultset. Action queries include INSERT,
UPDATE, and DELETEstatements.
445
Chapter 20: Data Access with ADO
Command Object Properties
Begin by looking at the three most important Commandobject properties.
The ActiveConnection Property
This property is identical to the ActiveConnectionproperty discussed in the section on the Recordset
object.
The CommandText Property
This property is used to set the command that will be executed by the data provider. This property will
normally be a SQLstring or the name of a stored procedure. As you will see in the section on SQLServer,
you must use the CommandText property along with the Parameters collection to take advantage of
return values and output parameters in SQLServer stored procedures.
The CommandType Property
The CommandType property is identical to the Options argument to the Connectionobject’s Execute
method, covered earlier in the chapter. It is used to tell the provider how to interpret and execute the
Commandobject’s CommandText.
Command Object Methods
Only two of the Command object’s methods are examined, because they are the most commonly used.
The CreateParameter Method
This method is used to manually create Parameter objects that can then be added to the Command
object’s Parameters collection. The CreateParameter object has the following syntax:
Set Parameter = command.CreateParameter([Name], [Type], [Direction], _
[Size], [Value])
Nameis the name of the parameter object. You can use this name to reference the Parameterobject
through the Command object’s Parameters collection. When working with SQLServer, the name of a
Parametershould be the same as the name of the stored procedure argument that it corresponds to.
Typeindicates the data type of the parameter. It is specified as one of the DataTypeEnumconstants.
There are several dozen possible data types, so I will not go into them in any detail here. You will see a
few of them in the examples section. The rest can be located in the ADO help file.
Directionis a ParameterDirectionEnumvalue that indicates whether the parameter will be used to
pass data to an input argument, receive data from an output argument, or accept a return value from a
stored procedure. Direction can be one of the following values:
adParamInput—The parameter represents an input argument
adParamInputOutput—The parameter represents an input/output argument
adParamOutput—The parameter represents an output argument
adParamReturnValue—The parameter represents a return value
446
Chapter 20: Data Access with ADO
Sizeis used to specify the size of Parameterin bytes, and is dependent on Parameter’s data type.
Valueis used to provide an initial value for the Parameter.
The following code sample demonstrates how you can use the CreateParameter method in conjunc-
tion with the Parameterscollection Append method to create a Parameter and append it to the
Parameterscollection with one line of code:
objCmd.Parameters.Append _
objCmd.CreateParameter(“MyParam”, adInteger, adParamInput, 0)
The Execute Method
This method executes the text contained in the Command object’s CommandText property. The Execute
method has the following syntax for an action query (one that does not return a resultset):
command.Execute [RecordsAffected], [Parameters], [Options]
And for a select query:
Set Recordset = command.Execute([RecordsAffected], [Parameters], [Options])
The RecordsAffectedand Options arguments are identical to the corresponding arguments for the
Connectionobject’s Executemethod, described in the “Connection Object Methods” section. If you are
executing a SQLstatement that requires one or more parameters to be passed, you can supply an array
of values to the Parametersargument, one for each parameter required.
Command Object Collections
The final section before delving into ADO in Excel covers the Commandobject’s two collections.
The Parameters Collection
This collection contains all of the Parameter objects associated with the Command object. Parameters are
used to pass arguments to SQLstatements and stored procedures, as well as to receive output and return
values from stored procedures.
The Properties Collection
This collection contains provider-specific or extended properties for the Command object. Some providers
add important settings that you will want to be aware of. The most important extended properties of
each provider are covered in the provider-specific discussions later in the chapter.
Using ADO in Microsoft Excel Applications
Here’s where it all comes together. This section combines the understanding of Excel programming that
you’ve gained from previous chapters with the SQLand ADO techniques discussed so far in this chap-
ter. Excel applications frequently require data from outside sources. The most common of these sources
are Access and SQLServer databases. However, I’ve created applications that required source data from
mainframe text file dumps and even Excel workbooks. As you’ll see, ADO makes acquiring data from
these various data sources easy.
447
Chapter 20: Data Access with ADO
Documents you may be interested
Documents you may be interested