c# pdf image preview : Add forms to pdf control Library system azure asp.net html console 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200749-part704

For this example, create a simple stored procedure that you can use to insert new records into the
CREATE PROC spInsertShippers
@CompanyName  nvarchar(40),
@Phone        nvarchar(24)
INSERT INTO Shippers(CompanyName, Phone)
VALUES(@CompanyName, @Phone)
As you can see, the stored procedure has two arguments, @CompanyName and @Phone, which are used to
collect the values to insert into those respective fields in the Shippers table. Similar to the ID field in the
Access version of the Northwind database, the ShipperID field in the SQL Server version of Northwind
is populated automatically by the database any time a new record is inserted. You retrieve this automati-
cally assigned value in a similar fashion, through the use of SQL Server’s @@IDENTITY system function.
In this case, however, you won’t have to make a separate query to retrieve the Shipper ID value because
it will be returned to you by the stored procedure.
To present a more realistic application scenario, the following example uses publicly scoped Connection
and Command objects, procedures to create and destroy the connection, a procedure to prepare the Command
object for use, and a procedure that demonstrates how to use the Commandobject:
Public Const gszCONNECTION As String = _
“Provider=SQLOLEDB;Data Source=P2800\P2800;” & _
“Initial Catalog=Northwind;Integrated Security=SSPI”
Public gobjCmd As ADODB.Command
Public gobjConn As ADODB.Connection
Private Sub CreateConnection()
‘ Create the Connection object.
Set gobjConn = New ADODB.Connection
gobjConn.Open gszCONNECTION
End Sub
Private Sub DestroyConnection()
‘ Check to see if connection is still open before attempting to close it.
If CBool(gobjConn.State And adStateOpen) Then gobjConn.Close
Set gobjConn = Nothing
End Sub
Private Sub PrepareCommandObject()
‘ Create the Command object.
Set gobjCmd = New ADODB.Command
Set gobjCmd.ActiveConnection = gobjConn
gobjCmd.CommandText = “spInsertShippers”
gobjCmd.CommandType = adCmdStoredProc
‘ Load the parameters collection. The first parameter
‘ is always the stored procedure return value.
gobjCmd.Parameters.Append _
Chapter 20: Data Access with ADO
Add forms to pdf - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
create a pdf form that can be filled out; create pdf forms
Add forms to pdf - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
convert word to editable pdf form; change font size pdf fillable form
gobjCmd.CreateParameter(“@RETURN_VALUE”, adInteger, _
adParamReturnValue, 0)
gobjCmd.Parameters.Append _
gobjCmd.CreateParameter(“@CompanyName”, adVarWChar, _
adParamInput, 40)
gobjCmd.Parameters.Append _
gobjCmd.CreateParameter(“@Phone”, adVarWChar, _
adParamInput, 24)
End Sub
Public Sub UseCommandObject()
Dim lKeyValue As Long
Dim lNumAffected As Long
On Error GoTo ErrorHandler
‘ Create the Connection and the reusable Command object.
‘ Set the values of the input parameters.
gobjCmd.Parameters(“@CompanyName”).Value = “Air Carriers”
gobjCmd.Parameters(“@Phone”).Value = “(206) 555-1212”
‘ Execute the Command object and check for errors.
gobjCmd.Execute Recordsaffected:=lNumAffected, _
If lNumAffected <> 1 Then Err.Raise Number:=vbObjectError + 1024, _
Description:=”Error executing Command object.”
‘ Retrieve the primary key value for the new record.
lKeyValue = gobjCmd.Parameters(“@RETURN_VALUE”).Value
Debug.Print “The key value of the new record is: “ & CStr(lKeyValue)
‘ Destroy the Command and Connection objects.
Set gobjCmd = Nothing
Exit Sub
MsgBox Err.Description, vbCritical
Resume ErrorExit
End Sub
Afew things to note about the mini application:
In a normal application, you would not create and destroy the Connectionand Command objects
in the UseCommandObjectprocedure. These objects are intended for reuse and therefore typically
would be created when your application first started and destroyed just before it ended.
Chapter 20: Data Access with ADO
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
Viewer in C#. In this section, we offer detailed guidance for you to create and add a PDF document viewer & reader in Windows Forms application using C# code.
change font on pdf form; adding text fields to pdf acrobat
C# PDF: How to Create PDF Document Viewer in C#.NET with
The PDF document manipulating add-on from RasterEdge ASP.NET web service application, Windows Forms application and The PDF document viewer & reader created by
add form fields to pdf online; add text field pdf
When constructing and using the Command object’s Parameters collection, keep in mind that
the first parameter is always reserved for the stored procedure return value, even if the stored
procedure doesn’t have a return value.
Even though you didn’t make any particular use of the Shipper ID value returned from the stored
procedure for the new record, in a normal application this value would be very important. The
CompanyNameand Phonefields are for human consumption; the primary key value is how the
database identifies the record. For example, in the Northwind database, the Shipper ID is a
required field for entering new records into the Orders table. Therefore, if you planned on add-
ing an order that was going to use the new shipper, you would have to know the Shipper ID.
Multiple Recordsets
The SQL Server OLE DB provider is an example of a provider that allows you to execute a SQLstate-
ment that returns multiple recordsets. This feature comes in very handy when you need to populate
multiple controls on a form with lookup-table information from the database. You can combine all of the
lookup-table SELECT queries into a single stored procedure and then loop through the individual record-
sets, assigning their contents to the corresponding controls.
For example, if you needed to create a user interface for entering information into the Orders table, you
would need information from several related tables, including Customers and Shippers, as shown in
Figure 20-6.
Figure 20-6
Create an abbreviated example of a stored procedure that returns the lookup information from these two
tables, and then use the result to populate drop-downs on a UserForm:
CREATE PROC spGetLookupValues
-- Customers lookup table info.
SELECT    CustomerID,
FROM      Customers
-- Shippers lookup table info.
SELECT    ShipperID,
FROM      Shippers
Note that this stored procedure contains two separate SELECT statements. These will populate two inde-
pendent recordsets when the stored procedure is executed using ADO. The double dashes that you see
at the beginning of the lines above each SELECTstatement are T-SQL comment prefixes.
Chapter 20: Data Access with ADO
C# PDF Converter Library SDK to convert PDF to other file formats
Various image forms can be converted from PDF document, including Jpeg, Png, Bmp, Gif images, .NET Graphics, and REImage. C#.NET PDF to Image Forms Conversion.
change font in pdf fillable form; best way to make pdf forms
VB.NET PDF Converter Library SDK to convert PDF to other file
As this VB.NET PDF converting control add-on encodes mature VB.NET PDF converting APIs into several compact dlls Conversion of Image Forms to PDF.
create a fillable pdf form from a word document; pdf form save with reader
The following procedure is an example of a UserForm_Initialize event that populates drop-downs
on the UserForm with the results of the spGetLookupValuesstored procedure. For the purpose of this
example, assume that the public Connection object gobjConn used in the previous example is still open
and available for use:
Private Sub UserForm_Initialize()
Dim rsData As ADODB.Recordset
‘ Create and open the Recordset object.
Set rsData = New ADODB.Recordset
rsData.Open “spGetLookupValues”, gobjConn, _
adOpenForwardOnly, adLockReadOnly, adCmdStoredProc
‘ The first recordset contains the customer list.
Do While Not rsData.EOF
‘ Load the dropdown with the recordset values.
ddCustomers.AddItem rsData.Fields(1).Value
Set rsData = rsData.NextRecordset
‘ The second recordset contains the shippers list.
Do While Not rsData.EOF
‘ Load the dropdown with the recordset values.
ddShippers.AddItem rsData.Fields(1).Value
Set rsData = rsData.NextRecordset
‘ No need to clean up the Recordset object at this point,
‘ it will be closed and set to nothing after the last
‘ call to the NextRecordset method.
End Sub
One thing to note about the method demonstrated here is that it requires prior knowledge of the number
and order of recordsets returned by the call to the stored procedure. Also left out is any handling of the
primary key values associated with the lookup table descriptions. In a real-world application, you
would need to maintain these keys (I prefer using a hidden column in a multi-column drop-down for
this purpose) so you could retrieve the primary key value that corresponded to the user’s selection in
each drop-down.
Disconnected Recordsets
The “Retrieving Data from Microsoft Access Using a Plain Text Query” section mentioned that getting in
and out of the database as quickly as possible was an important goal. However, the Recordset object is
a powerful tool that you would often like to hold onto and use without locking other users out of the
database. The solution to this problem is the ADO disconnected recordset feature.
Adisconnected recordset is a Recordset object whose connection to its data source has been severed,
but that can still remain open. The result is a fully functional Recordset object that does not hold any
locks in the database from which it was queried. Disconnected recordsets can remain open as long as
Chapter 20: Data Access with ADO
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
there is a newly created page, you may need to add it into PDFDocument instance contains all documentation features and information that forms a PDF document
adding image to pdf form; convert word doc to pdf with editable fields
VB.NET PDF: VB Code to Create PDF Windows Viewer Using DocImage
document files (TIFF, PDF and Word) within single or multiple safe threaded .NET platform project(s), including C#.NET, VB.NET, ASP.NET and .NET Windows Forms.
change font in pdf form field; add print button to pdf form
you need them, they can be reconnected to and resynchronized with the data source, and they can even
be persisted to disk for later retrieval. Afew of these capabilities are examined in the following example.
Imagine you wanted to implement a feature that would allow users to view any group of customers
they chose. Running a query against the database each time the user specified a different criterion would
be an inefficient way to accomplish this. A much better alternative would be to query the complete set of
customers from the database and hold them in a disconnected recordset. You could then use the Filter
property of the Recordsetobject to quickly extract the set of customers that your user requested.
The following example shows all of the elements required to create a disconnected recordset. Again,
assume the availability of the public gobjConnConnection object:
Public grsData As ADODB.Recordset
Public Sub CreateDisconnectedRecordset ()
Dim szSQL As String
‘ Create the SQL Statement.
szSQL = “SELECT CustomerID, CompanyName, ContactName, Country “ & _
“FROM Customers”
‘ Steps to creating a disconnected recordset:
‘ 1) Create the Recordset object.
Set grsData = New ADODB.Recordset
‘ 2) Set the cursor location to client side.
grsData.CursorLocation = adUseClient
‘ 3) Set the cursor type to static.
grsData.CursorType = adOpenStatic
‘ 4) Set the lock type to batch optimistic.
grsData.LockType = adLockBatchOptimistic
‘ 5) Open the recordset.
grsData.Open szSQL, gobjConn, , , adCmdText
‘ 6) Set the Recordset’s Connection object to Nothing.
Set grsData.ActiveConnection = Nothing
‘ grsData is now a disconnected recordset.
Sheet1.Range(“A1”).CopyFromRecordset grsData
End Sub
Note that the Recordset object variable in the preceding example is declared with public scope. If you
were to declare the Recordset object variable at the procedure level, VBA would automatically destroy
it when the procedure ended and it would no longer be available for use.
Six crucial steps are required to successfully create a disconnected recordset. It’s possible to combine sev-
eral of them into one step during the Recordset.Open method, and it’s more efficient to do so, but they
are separated here for the sake of clarity:
You must create a new, empty Recordsetobject to start with.
You must set the cursor location to client-side. Because the recordset will be disconnected from
the server, the cursor cannot be managed there. Note that this setting must be made before you
open the recordset. It is not possible to change the cursor location once the recordset is open.
Chapter 20: Data Access with ADO
C# PDF Convert to Images SDK: Convert PDF to png, gif images in C#
Besides raster image Jpeg, images forms like Png, Bmp, Gif, .NET Graphics C#.NET DLLs Solution for Converting Images to PDF in C#.NET. Add necessary references:
chrome pdf save form data; adding text fields to a pdf
C# PDF Page Insert Library: insert pages into PDF file in C#.net
processing control SDK, you can create & add new PDF page(s) to current target PDF document in both web server-side application and Windows Forms project using
change tab order in pdf form; changing font size in pdf form field
The ADO client-side cursor engine supports only one type of cursor, the static cursor, so this is
what the CursorType property must be set to.
ADO has a lock type specifically designed for disconnected recordsets called Batch Optimistic. 
The Batch Optimistic lock type makes it possible to reconnect the disconnected recordset to the
database and update the database with records that have been modified while the recordset was
disconnected. This operation is beyond the scope of this chapter, so note that the Batch Optimistic
lock type is required in order to create a disconnected recordset.
Opening the recordset is the next step. This example used a plain text SQL query. This is not a
requirement. You can create a disconnected recordset from almost any source that can be used to
create a standard recordset. The client-side cursor engine lacks a few capabilities, however; mul-
tiple recordsets are one example.
The final step is disconnecting the recordset from the data source. This is accomplished by set-
ting the recordset’s Connection object to Nothing. If you recall from the “Recordset Object
Properties” section, the Connection object associated with a Recordset object is accessed
through the Recordset.ActiveConnection property. Setting this property to Nothing severs
the connection between the recordset and the data source.
Now that you have a disconnected recordset to work with, what kinds of things can you do with it? Just
about any operation the Recordset object allows. Say that the user wanted to see a list of customers
located in Germany, sorted by alphabetical order. This is how you’d accomplish that task:
‘ Set the Recordset filter to display only records 
‘ whose Country field is Germany.
grsData.Filter = “Country = ‘Germany’”
‘ Sort the records by CompanyName.
grsData.Sort = “CompanyName”
‘ Load the processed data onto Sheet1
Sheet1.Range(“A1”).CopyFromRecordset grsData
If you are working in a busy multi-user environment, the data in your disconnected recordset may become
out-of-date during the course of your application due to other users inserting, updating, and deleting
records. You can solve this problem by requerying the recordset. As demonstrated by the following exam-
ple, this is a simple matter of reconnecting to the data source, executing the Recordset.Requery method,
then disconnecting from the data source:
‘ Reconnect to the data source.
Set grsData.ActiveConnection = gobjConn
‘ Rerun the Recordset object’s underlying query,
grsData.Requery Options:=adCmdText
‘ Disconnect from the data source.
Set grsData.ActiveConnection = Nothing
Using ADO with Non-Standard Data Sources
This section describes how you can use ADO to access data from two common non-standard data sources
(data sources that are not strictly considered databases), Excel workbooks, and text files. Although the idea
may seem somewhat counterintuitive, ADO is often the best choice for retrieving data from workbooks
and text files because it eliminates the often lengthy process of opening them in Excel. Using ADO also
allows you to take advantage of the power of SQLto do exactly what you want in the process.
Chapter 20: Data Access with ADO
VB.NET Image: Professional Form Processing and Recognition SDK in
your forms before using form printing add-on. for ASP.NET AJAX, Silverlight, Windows Forms as well powerful & profession imaging controls, PDF document, image
adding signature to pdf form; change font in pdf form
C# TIFF: C#.NET Code to Create Windows TIFF Viewer | Online
Add buttons to complete other Windows TIFF Viewer ASP.NET AJAX, Silverlight, Windows Forms as well powerful & profession imaging controls, PDF document, image
acrobat create pdf form; create a pdf form to fill out
Querying Microsoft Excel Workbooks
When using ADO to access data from Excel 2007 workbooks, you use the same OLE DB provider that
you used earlier in this chapter to access data from Microsoft Access 2007. In addition to Access, this
provider also supports most ISAM data sources (data sources that are laid out in a tabular, row and col-
umn format). You will use the Sales.xlsx workbook, shown in Figure 20-7, as the data source for the
Excel examples.
Figure 20-7
When using ADO to work with Excel, the workbook file takes the place of the database, while work-
sheets within the workbook, as well as named ranges, serve as tables. Compare a connection string used
to connect to an Access database with a connection string used to connect to an Excel workbook.
Connection string to an Access database:
sConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Northwind 2007.accdb;”
Connection string to an Excel workbook:
sConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Sales.xlsx;” & _
“Extended Properties=Excel 12.0;”
Note that the same provider is used, and that the full path and filename of the Excel workbook takes the
place of the full path and filename of the Access database. The only difference is that you must specify
the type name of the data source you want to connect to in the ExtendedProperties argument. When
connecting to Excel 2007, you set the ExtendedProperties argument to Excel12.0. For versions of
Excel earlier than 2007, you set the ExtendedProperties argument to Excel8.0.
You query data from an Excel worksheet using a plain text SQL statement exactly like you would query
a database table. However, the format of the table name is different for Excel queries. You can specify the
table that you want to query from an Excel workbook in one of four different ways:
Chapter 20: Data Access with ADO
Worksheet Name Alone —When using the name of a specific worksheet as the table name in
your SQL statement, the worksheet name must be suffixed with a $character and surrounded
with square brackets. For example, [Sheet1$] is a valid worksheet table name. If the worksheet
name contains spaces or non-alphanumeric characters, you must surround it with single quotes.
An example of this is [‘MySheet$’].
Worksheet-level Range Name —You can use a worksheet-level range name as a table name in
your SQL statement. Simply prefix the range name with the worksheet name it belongs to, using
the formatting conventions just described. An example of this would be
Specific Range Address—You can specify the table in your SQL statement as a specific range
address on the target worksheet. The syntax for this method is identical to that for a worksheet-
level range name: [Sheet1$A1:E20].
Workbook-level Range Name —You can also use a workbook-level range name as the table in
your SQL statement. In this case there is no special formatting required. You simply use the
name directly, without brackets.
Although your sample workbook contains only one worksheet, this is not a requirement. The target
workbook can contain as many worksheets and named ranges as you wish. You simply need to know
which one to use in your query. The following procedure demonstrates all four table-specifying methods
just discussed:
Public Sub QueryWorksheet()
Dim rsData As ADODB.Recordset
Dim sConnect As String
Dim sSQL As String
‘ Create the connection string.
sConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Sales.xlsx;” & _
“Extended Properties=Excel 12.0;”
‘ Query based on the worksheet name.
‘sSQL = “SELECT * FROM [Sales$]”
‘ Query based on a sheet-level range name.
‘sSQL = “SELECT * FROM [Sales$SheetLevelName];”
‘ Query based on a specific range address.
‘sSQL = “SELECT * FROM [Sales$A1:E89];”
‘ Query based on a book-level range name.
sSQL = “SELECT * FROM BookLevelName;”
Set rsData = New ADODB.Recordset
rsData.Open sSQL, sConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
‘ Check to make sure we received data.
If Not rsData.EOF Then
Sheet1.Range(“A1”).CopyFromRecordset rsData
MsgBox “No records returned.”, vbCritical
Chapter 20: Data Access with ADO
End If
‘ Clean up our Recordset object.
Set rsData = Nothing
End Sub
By default, the OLE DB provider for Microsoft Jet assumes that the first row in the table you specify with
your SQL statement contains the field names for the data. If this is the case, you can perform more com-
plex SQL queries, making use of the WHEREand ORDERBYclauses. If the first row of your data table does
not contain field names, however, you must inform the provider of this fact or you will lose the first row
of data. The way to accomplish this is by providing an additional setting, HDR=No, to the Extended
Propertiesargument of the connection string:
sConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Sales.xlsx;” & _
“Extended Properties=””Excel 12.0;HDR=No””;”
Note that when you pass multiple settings to the ExtendedProperties argument, the entire setting
string must be surrounded with double quotes and the individual settings must be delimited with semi-
colons. If your data table does not include column headers, you will be limited to SELECT queries.
Inserting and Updating Records in Microsoft Excel Workbooks
ADO can do more than just query data from an Excel workbook. You can also insert and update records
in the workbook, just as you would with any other data source. Deleting records, however, is not sup-
ported. Updating records, although possible, is somewhat problematic when an Excel workbook is the
data source, because Excel-based data tables rarely have anything that can be used as a primary key to
uniquely identify a specific record. Therefore, you must specify the values of enough fields to uniquely
identify the record concerned in the WHERE clause of your SQL statement when performing an update. If
more than one record meets WHERE clause criteria, all such records will be updated.
Inserting is significantly less troublesome. All you do is construct a SQL statement that specifies values
for each of the fields, and then execute it. Note once again that your data table must have column head-
ers in order for it to be possible to execute action queries against it. The following example demonstrates
how to insert a new record into the sales worksheet data table:
Public Sub WorksheetInsert()
Dim objConn As ADODB.Connection
Dim sConnect As String
Dim sSQL As String
‘ Create the connection string.
sConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\Sales.xlsx;” & _
“Extended Properties=Excel 12.0;”
‘ Create the SQL statement.
sSQL = “INSERT INTO [Sales$] “ & _
Chapter 20: Data Access with ADO
“VALUES(‘VA’, ‘On-Line’, ‘Computers’, ‘Mid’, 30);”
‘ Create and open the Connection object.
Set objConn = New ADODB.Connection
objConn.Open sConnect
‘ Execute the insert statement.
objConn.Execute sSQL, , adCmdText Or adExecuteNoRecords
‘ Close and destroy the Connection object.
Set objConn = Nothing
End Sub
Note that if you use ADO to insert a new record into an Excel worksheet, and you use a range name as
the table in the INSERT statement, that range name will not be extended to include the new record.
Therefore, you should only use ADO to insert records into worksheets in situations where the worksheet
name can be used as the table in the INSERT statement.
Querying Text Files
The last data access technique to discuss in this chapter is querying text files using ADO. The need to
query text files doesn’t come up as often as some of the other situations addressed in this chapter.
However, when you’re faced with an extremely large text file, the result of a mainframe database data
dump, for example, ADO can be a lifesaver.
Not only will it allow you to rapidly load large amounts of data into Excel, but using the power of SQL
to limit the size of the resultset can also enable you to work with data from a text file that is simply too
large to be opened directly in Excel. For the discussion on text file data access, use a comma-delimited
text file, Sales.csv, whose contents are identical to the Sales.xlsx workbook used in the Excel exam-
ples in the previous section. The following example demonstrates how to construct a connection string
to access a text file:
szConnect = “Provider=Microsoft.ACE.OLEDB.12.0;” & _
“Data Source=C:\Files\;” & _
“Extended Properties=Text;”
Note that in the case of text files, the DataSource argument is set to the directory that contains the text
file. Do not include the name of the file in this argument. Once again, the provider is informed of the for-
mat to be queried by using the ExtendedProperties argument. In this case, you simply set this argu-
ment to the value “Text”.
Querying a text file is virtually identical to querying an Excel workbook. The main difference is how the
table name is specified in the SQLstatement. When querying a text file, the filename itself is used as the
table name in the query. This has the added benefit of allowing you to work with multiple text files in a
single directory without having to modify your connection string.
As with Excel, you are limited to SELECT queries if the first row of your text file does not contain field
names. You must also add the HDR=No setting to the ExtendedProperties argument if this is the case,
in order to avoid losing the first row of data. The example text file has field names in the first row, and
Chapter 20: Data Access with ADO
Documents you may be interested
Documents you may be interested