asp.net pdf viewer control c# : Create thumbnail from pdf software Library project winforms asp.net wpf UWP sg24730120-part1654

Chapter 4. Application development with C/C++ 
185
4.5.4  Connecting and disconnect to and from a database
Table 4-8 lists some APIs that can be used in working with a connection to a 
database.
Table 4-8   Connection-related CLI APIs
There are various APIs to choose from for connecting to a database. The 
SQLDriverConnect() API expands the functionality of SQLConnect() by allowing 
extra connection parameters and the ability to get connection information from 
the user. The SQLBrowseConnect() is an iterative way of connecting to the 
database. In our application, we use the SQLConnect() API:
SQLRETURN   SQLConnect     (
SQLHDBC         ConnectionHandle,       /* hdbc */
SQLCHAR         *ServerName,            /* szDSN */
SQLSMALLINT     ServerNameLength,       /* cbDSN */
SQLCHAR         *UserName,              /* szUID */
SQLSMALLINT     UserNameLength,         /* cbUID */
SQLCHAR         *Authentication,        /* szAuthStr */
SQLSMALLINT     AuthenticationLength);  /* cbAuthStr */ 
In our code, we add the following line (Example 4-33 on page 186) to establish a 
default database connection and later to disconnect from the database.
CLI API
Purpose
SQLConnect
Connect to a database given a database name, user ID, and 
password.
SQLDriverConnect
Connect to a database (has expanded connection 
parameters).
SQLBrowseConnect
Use iterative method to connect to a database.
SQLSetConnectAttr 
Set connection attributes.
SQLSetConnection
Sets the current active connection. Used for embedded 
SQL modules within a CLI application.
SQLGetConnectAttr
Get connection option value.
SQLDisconnect
Disconnect from the database.
Create thumbnail from pdf - Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
pdf thumbnail creator; pdf thumbnail
Create thumbnail from pdf - VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
pdf preview thumbnail; pdf first page thumbnail
186
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
Example 4-33   Using SQLConnect() & SQLDisconnect()
SQLConnect(conn_handle, "sample", SQL_NTS, NULL, SQL_NTS, NULL, 
SQL_NTS);
SQLDisconnect(conn_handle);
4.5.5  Processing SQL statements
After connecting to the database, we need to allocate a statement handle to 
manage our SQL statement. Once this is done, we can execute an SQL 
statement by either preparing the statement or executing the statement directly. 
Figure 4-2 illustrates this process.
Figure 4-2   Processing SQL statements
In either case, if parameter markers exist in the SQL statement, 
SQLBindParameter() must be called to associate each parameter marker to an 
application buffer or a LOB locator. If a SELECT statement is run and a result set 
expected, a cursor is automatically opened. So, unlike embedded SQL, cursors 
neither have to be declared nor opened. To fetch the results, SQLBindCol() is 
first called to bind the columns of a result set to application variables, then 
SQLFetch() is called to fetch the rows.
SQLPrepare()
SQLBindParameter()
SQLExecute()
Prepare and execute
SQLBindParameter()
SQLExecDirect()
Execute directly
How to C#: Generate Thumbnail for Word
Images. Convert Word to ODT. Convert PDF to Word. Convert ODT to Text Search. Insert Image. Thumbnail Create. Thumbnail Create. |. Home ›› XDoc.Word ›› C# Word
pdf thumbnail generator; show pdf thumbnails in
VB.NET Image: Program for Creating Thumbnail from Documents and
language. It empowers VB developers to create thumbnail from multiple document and image formats, such as PDF, TIFF, GIF, BMP, etc. It
pdf reader thumbnails; .pdf printing in thumbnail size
Chapter 4. Application development with C/C++ 
187
After the processing of an SQL statement is complete, the statement handle can 
be freed. In the complete CLI code definition in Example 4-34 on page 188, we 
show how to prepare, bind, and execute a SELECT statement and fetch the 
results. Table 4-9 lists some CLI APIs that you can use for processing an SQL 
statement.
Table 4-9   Some CLI APIs for SQL processing
CLI API
Purpose
SQLPrepare
Prepare an SQL statement.
SQLExtendedPrepare
Prepare an array of statement attributes for an SQL 
statement.
SQLExtendedBind
Bind an array of columns.
SQLBindParameter 
SQLSetParam
Bind a parameter marker in an SQL statement.
SQLDescribeParam
Get info about a parameter marker.
SQLExecute
Execute a prepared statement.
SQLExecDirect
Execute a statement.
SQLNumParams
Get the number of parameters in a statement.
SQLRowCount
Get the number of rows affected by an insert/update/delete 
or number of rows in a result set.
SQLNumResultCols
Get the number of columns in a result set.
SQLDescribeCol
Describe a column in the result set.
SQLColAttribute
SQLColAttributes
Get information about the attributes of a column in a result 
set.
SQLBindCol
Bind a column in the result set to an application variable.
SQLFetch
Get a result set row.
SQLExtendedFetch
Get multiple result set rows.
SQLCancel
Cancel an SQL statement.
SQLTransact 
SQLCloseCursor
Commit or roll back a transaction.
SQLEndTran
End a transaction.
How to C#: Generate Thumbnail for PowerPoint
Preview Document. Conversion. Convert PowerPoint to PDF. Convert PowerPoint to PowerPoint Pages. Annotate PowerPoint. Text Search. Insert Image. Thumbnail Create
create pdf thumbnail image; how to create a thumbnail of a pdf document
How to C#: Generate Thumbnail for Raster
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET And generating thumbnail for Raster Image is an easy work. How to Create Thumbnail for Raster in C#.
enable pdf thumbnail preview; pdf files thumbnail preview
188
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
4.5.6  Complete CLI Inventory Program
In our example CLI inventory program (Example 4-34), we connect to the 
database, prepare a SELECT statement, and then bind the parameter marker. 
Because QUANTITY is of type INTEGER in the database, we bind the parameter 
marker with a C type of SQL_C_LONG and SQL type of SQL_INTEGER. In 
binding a parameter marker, the SQL data type and the symbolic C data type 
need to be known as input to the CLI API. 
We also call SQLBindCol() for each column of the result set. Because QUANTITY 
and PID data values are returned from the INVENTORY table, we call 
SQLBindCol() to bind both columns to application buffers. Once we finish 
processing the result set, we disconnect from the database.
For simplicity and ease of readability, we have omitted error checking in our 
example CLI application.
Example 4-34   CLIinventory.c
/******************************************************
** Source File Name: CLIinventory.c
**
** This simple CLI program will print a list of 
** products that need to be restocked.  
** The user needs to supply the minimum acceptable 
** quantity value before a product is considered to be 
** low in stock.
**
*******************************************************/
#include <stdlib.h>
#include <stdio.h>
#include <sqlcli.h>
int main(int argc, char *argv[]) {
SQLHANDLE env_handle;
SQLHANDLE conn_handle;
SQLHANDLE stmt_handle;
SQLCHAR PID[11];
SQLINTEGER quantity;
SQLLEN ind[2];
SQLINTEGER min_quality=atoi(argv[1]);
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env_handle);
SQLAllocHandle(SQL_HANDLE_DBC, env_handle, &conn_handle);
Create Thumbnail in Web Image Viewer | Online Tutorials
or Images; Create Thumbnail; Generate Barcodes on Your Documents; Read Barcodes from Your Documents. Multi-page Tiff Processing; RasterEdge OCR Engine; PDF Reading
pdf thumbnail viewer; pdf thumbnail generator
Create Thumbnail Winforms | Online Tutorials
Create Thumbnail; Generate Barcodes on Your Documents; Read Barcodes from Your Documents. Multi-page Tiff Processing; RasterEdge OCR Engine; PDF Reading; Encode
show pdf thumbnails; enable pdf thumbnails in
Chapter 4. Application development with C/C++ 
189
SQLConnect(conn_handle, "sample", SQL_NTS, NULL, SQL_NTS, NULL, 
SQL_NTS);
SQLAllocHandle(SQL_HANDLE_STMT, conn_handle, &stmt_handle);
SQLPrepare(stmt_handle, "select quantity,PID from inventory where 
quantity <? order by quantity", SQL_NTS);
SQLBindParameter(stmt_handle, 1, SQL_PARAM_INPUT, SQL_C_LONG, 
SQL_INTEGER,0,0,&min_quality,0,NULL);
SQLExecute(stmt_handle);
SQLBindCol(stmt_handle, 1, SQL_C_LONG, &quantity, 0,&ind[0]);
SQLBindCol(stmt_handle, 2, SQL_C_CHAR, PID, sizeof(PID),&ind[1]);
printf("\nProducts to Restock (less than %d)\n",min_quality);
printf("-------------------------------------\n");
while (SQLFetch(stmt_handle)==SQL_SUCCESS)
printf("%d\t%s\n",quantity, PID);
SQLFreeHandle(SQL_HANDLE_STMT, stmt_handle);
SQLDisconnect(conn_handle);
SQLFreeHandle(SQL_HANDLE_DBC,conn_handle);
SQLFreeHandle(SQL_HANDLE_ENV,env_handle);
return SQL_SUCCESS;
}
4.5.7  Error handling
After each API call, we should be checking the return code status to ensure that 
no errors have occurred. Table 4-10 on page 190 lists possible CLI function 
return codes. 
How to C#: Set Image Thumbnail in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel How to C#: Set Image Thumbnail in C#.NET. With XImage.Raster SDK library, you can create an image viewer and
create pdf thumbnail image; generate pdf thumbnail c#
How to C#: Generate Thumbnail for Excel
Preview Document. Conversion. Convert Excel to PDF. Convert Excel to HTML5. Insert Image. Thumbnail Create. Thumbnail Create. |. Home ›› XDoc.Excel ›› C# Excel
print pdf thumbnails; thumbnail view in for pdf files
190
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
Table 4-10   CLI function return codes
If a function call resulted in an unexpected return code, diagnostic records are 
produced and associated with the handle that executed the API. To retrieve the 
diagnostic information, applications can make use of functions as shown in 
Table 4-11.
Table 4-11   Some diagnostic CLI APIs
4.5.8  Quick SQLGetDiagRec() example
Let us see an example of how to use the SQLGetDiagRec() API. We first define 
the variables within a CLI application needed for the function call:
SQLCHAR SQLState[6];  //  Will store the SQLState
SQLCHAR msgText[SQL_MAX_MESSAGE_LENGTH];  // Will store the error msg 
text
SQLINTEGER nativeErrorCode; // Will store the native error code
SQLSMALLINT msgTextLength; // Will store the error msg text length
CLI function return code
CLI function result
SQL_SUCCESS
Successful. No SQLSTATE information available.
SQL_SUCCESS_WITH_INFO
Successful, but some informational message or 
warning was returned.
SQL_STILL_EXECUTING
Still executing although control has been returned 
to the application.
SQL_NO_DATA_FOUND
Successful, but no data was found.
SQL_NEED_DATA
Missing parameter data needed for the execution 
of an SQL statement.
SQL_ERROR
Error.
SQL_INVALID_HANDLE
Error. Invalid handle specified by the application
CLI API
Purpose
SQLError
Get information on an error.
SQLGetDiagField
Get a field in a diagnostic record.
SQLGetDiagRec
Get diagnostic record.
Chapter 4. Application development with C/C++ 
191
Now let us try connecting to an invalid database and see what is provided by the 
diagnostic function.  We run a program with the following lines:
SQLConnect(conn_handle, "samdple", SQL_NTS, NULL, SQL_NTS, NULL, 
SQL_NTS);
SQLGetDiagRec(SQL_HANDLE_DBC, conn_handle, 1, SQLState, 
&nativeErrorCode, msgText, sizeof(msgText), &msgTextLength);
printf("SQLState: %s\nNative Error: %d\nError Message Text: 
%s",SQLState, nativeErrorCode,msgText);
This produces the following output to let us know the database name was 
incorrectly specified:
SQLState: 08001
Native Error: -1013
Error Message Text: [IBM][CLI Driver] SQL1013N  The database alias name 
or database name "SAMDPLE" could not be found.  SQLSTATE=42705
4.6  XML support
The XML data type is supported for use in embedded SQL and CLI applications. 
We briefly discuss how to work with the data type within C/C++ applications.
4.6.1  Embedded SQL
Embedded applications can make use of XML, LOB, or LOB_FILE data types 
when working with XML data in a DB2 database. If you choose to use XML host 
variables, they will be implicitly parsed, whereas using host variables of 
character and binary data type might not be. For dynamic SQL, CLOB, and 
BLOB are also implicitly parsed. For static SQL, an explicit XMLPARSE() will be 
injected in the SQL statement, but only for CLOB and BLOB (not DBCLOB). To 
declare host variables to handle XML data, we do so in the DECLARE section as 
we normally would for host variables of other data types. For XML host variables, 
we can use declarations of the form:
SQL TYPE IS XML AS <base type> <host var>
In the above statement, <host var> denotes the host variable name, and <base 
type> denotes the data type of the XML host variable. The possible values are 
listed in Table 4-12 on page 192.
192
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
Table 4-12   Allowed XML host variable data types
Once the host variable declarations are done, we can write code to process SQL 
statements using XML data in the same way we write code to process other 
types of SQL statements. Refer to Chapter 2, “Application development with DB2 
pureXML” on page 49 to obtain information about how to write SQL statements to 
interact with data of the DB2 XML data type. 
Selecting XML data using embedded SQL
Example 4-35 below shows a simple example of how to retrieve an XML column 
in embedded SQL.
Example 4-35   Retrieving an XML column using embedded SQL
EXEC SQL BEGIN DECLARE SECTION;
SQL TYPE IS CLOB(10K) clob1;
EXEC SQL END DECLARE SECTION;
EXEC SQL CONNECT TO sample;
EXEC SQL SELECT description INTO :xmlClob1 FROM product WHERE 
PID='100-100-01';
printf("XML data length: %d\nXML data: %s",clob1.length,clob1.data);
EXEC SQL COMMIT;
EXEC SQL CONNECT RESET;
In Example 4-35, we first declare a host variable of character LOB type to hold 
the serialized string format of our XML data. The precompile form of the clob1 
host variable shows that clob1 is a structure with a length and data field:
struct clob1_t {
sqluint32 length;;
char data[10240];
} clob1;
Data type
XML data encoding
CLOB(n)
Application mixed code page stored in CLOB host variable. 
DBCLOB(n)
Application graphic code page stored in DBCLOB host variable.
BLOB(n)
Internally encoded in a BLOB host variable.
CLOB_FILE
Application mixed code page stored in CLOB file.
DBCLOB_FILE
Application graphic code page stored in DBCLOB file.
BLOB_FILE
Internally encoded in a BLOB file.
Chapter 4. Application development with C/C++ 
193
We then run a select statement to retrieve the DESCRIPTION field of the 
PRODUCT table in the SAMPLE database. In the database, the DESCRIPTION 
column is of type xml. We call the XMLSERIALIZE method to convert the XML 
data from the database hierarchical format to an application CLOB and store the 
result in clob1. Running the application produces the following output.
Example 4-36   Output from running Example4-35 on page192
XML data length: 251
XML data: <product xmlns="http://posample.org" 
pid="100-100-01"><description><name>Snow Shovel, Basic 22 
inch</name><details>Basic Snow Shovel, 22 inches wide,
straight handle with D-Grip</details><price>9.99</price><weight>1 
kg</weight></description></product>
Inserting XML data using embedded SQL
Example 4-37 shows a simple example of how to insert XML data into the XML 
column (DESCRIPTION column in the PRODUCT table) using embedded SQL.
Example 4-37   Insert data into XML column
#include <sqlenv.h>
#include <sqlutil.h>
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
char xmldata[1000];
short nullind;
static SQL TYPE IS XML AS CLOB(1k) xmlclob1=SQL_CLOB_INIT(" ") ;
EXEC SQL END DECLARE SECTION;
int main(int argc, char *argv[])
{
nullind = 0;
/* Create a XML document for Description column*/
strcpy (xmldata, "<product xmlns=\"http://posample.org\" 
pid=\"102-102-02\">"
"<description><name> Shovel </name>"
"<details>Basic Shovel, 22 inches wide, straight 
handle with D-Grip</details>"
"<price>19.99</price>"
"<weight>1.5 kg</weight>"
"</description></product>");
194
DB2 Express-C: The Developer Handbook for XML, PHP, C/C++, Java, and .NET
/* description and product */
strcpy(xmlclob1.data, xmldata);
/* Set the length of the data */ 
xmlclob1.length = strlen(xmldata) + 1;
/* connect to database */
EXEC SQL CONNECT TO sample;
/* inserting when source is from host variable of type XML AS CLOB */
printf(" Inserting when source is from host variable of type XML AS 
CLOB\n");
EXEC SQL INSERT INTO product (pid, DESCRIPTION)   
VALUES ('102-102-02', :xmlclob1:nullind);
if (sqlca.sqlcode != 0)
{
printf("\n Insertion failed\n");
printf(" FAILED WITH SQLCODE = %d\n\n", sqlca.sqlcode);
}
EXEC SQL COMMIT;
/* disconnect from the database */
EXEC SQL CONNECT RESET;
return 0;
} /* main */
In Example 4-37 on page 193, we declare a host variable of XML as CLOB. The 
bind file resulting from the db2 prep utility results in the following db2bfd -v 
command output:
InsertProd.bnd: Host Variables = 3
Type SQL Data Type  Length Alias  Name_Len Name        UDT Name
---- -------------- ------ ------ -------- ----------- ------------
460 C STRING         1000 H00001        7 xmldata
500 SMALLINT            2 H00002        7 nullind
408 CLOB             1024 H00003        8 xmlclob1             XML
Updating XML data column using embedded SQL
Example 4-38 on page 195 below shows a simple example of how to update 
XML data in the XML column (DESCRIPTION column of the PRODUCT table) using 
embedded SQL.
Documents you may be interested
Documents you may be interested