pdf viewer dll for c# : Add jpg to pdf control Library system azure .net html console postgresql-9.4-A4112-part2738

Chapter 40. PL/pgSQL - SQL Procedural Language
FOR r IN
SELECT
*
FROM foo WHERE fooid > 0
LOOP
-- can do some processing here
RETURN NEXT r; -- return current row of SELECT
END LOOP;
RETURN;
END
$BODY$
LANGUAGE plpgsql;
SELECT
*
FROM get_all_foo();
Here is an example of a function using
RETURN QUERY
:
CREATE FUNCTION get_available_flightid(date) RETURNS SETOF integer AS
$BODY$
BEGIN
RETURN QUERY SELECT flightid
FROM flight
WHERE flightdate >= $1
AND flightdate < ($1 + 1);
-- Since execution is not finished, we can check whether rows were returned
-- and raise exception if not.
IF NOT FOUND THEN
RAISE EXCEPTION ’No flight at %.’, $1;
END IF;
RETURN;
END
$BODY$
LANGUAGE plpgsql;
-- Returns available flights or raises exception if there are no
-- available flights.
SELECT
*
FROM get_available_flightid(CURRENT_DATE);
Note: Thecurrent implementation of
RETURN NEXT
and
RETURN QUERY
stores the entire result set
before returning from the function, as discussed above. That means that if a PL/pgSQL function
produces a very large result set, performance might be poor: data will be written to disk to avoid
memoryexhaustion, but the function itself will not return until the entire result set has been gener-
ated. A future version of PL/pgSQLmight allow users to defineset-returning functions that donot
have this limitation. Currently, the point at which data begins being written to disk is controlled by
the work_mem configuration variable. Administrators who have sufficient memory to store larger
result sets in memory should consider increasing this parameter.
1048
Add jpg to pdf - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
how to add a jpg to a pdf; add an image to a pdf
Add jpg to pdf - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add photo to pdf in preview; add picture to pdf
Chapter 40. PL/pgSQL - SQL Procedural Language
40.6.2. Conditionals
IF
and
CASE
statementsletyouexecute alternativecommandsbasedoncertainconditions. PL/pgSQL
has three forms of
IF
:
IF ... THEN
IF ... THEN ... ELSE
IF ... THEN ... ELSIF ... THEN ... ELSE
and two forms of
CASE
:
CASE ... WHEN ... THEN ... ELSE ... END CASE
CASE WHEN ... THEN ... ELSE ... END CASE
40.6.2.1.
IF-THEN
IF
boolean-expression
THEN
statements
END IF;
IF-THEN
statements are the simplest form of
IF
.The statements between
THEN
and
END IF
will be
executed if the condition is true. Otherwise, they are skipped.
Example:
IF v_user_id <> 0 THEN
UPDATE users SET email = v_email WHERE user_id = v_user_id;
END IF;
40.6.2.2.
IF-THEN-ELSE
IF
boolean-expression
THEN
statements
ELSE
statements
END IF;
IF-THEN-ELSE
statements add to
IF-THEN
by letting you specify an alternative set of statements
that should be executed if the condition is not true. (Note this includes the case where the condition
evaluates to NULL.)
Examples:
IF parentid IS NULL OR parentid = ”
THEN
RETURN fullname;
ELSE
RETURN hp_true_filename(parentid) || ’/’ || fullname;
END IF;
1049
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Add necessary references page As PDFPage = doc.GetPage(0) ' Convert the first PDF page to page.ConvertToImage(ImageType.JPEG, Program.RootPath + "\\Output.jpg").
add image pdf; add photo pdf
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
example, this C#.NET PDF to JPEG converter library will name the converted JPEG image file Output.jpg. Convert PDF to JPEG Using C#.NET. Add necessary references
add photo to pdf; add image to pdf
Chapter 40. PL/pgSQL - SQL Procedural Language
IF v_count > 0 THEN
INSERT INTO users_count (count) VALUES (v_count);
RETURN ’t’;
ELSE
RETURN ’f’;
END IF;
40.6.2.3.
IF-THEN-ELSIF
IF
boolean-expression
THEN
statements
[ ELSIF
boolean-expression
THEN
statements
[ ELSIF
boolean-expression
THEN
statements
...]]
[ ELSE
statements
]
END IF;
Sometimes there are more thanjust two alternatives.
IF-THEN-ELSIF
provides a convenient method
of checking several alternatives in turn. The
IF
conditions are tested successively until the first one
that is true is found. Then the associated statement(s) are executed, after which control passes to
the next statement after
END IF
.(Any subsequent
IF
conditions are not tested.) If none of the
IF
conditions is true, then the
ELSE
block (if any) is executed.
Here is an example:
IF number = 0 THEN
result := ’zero’;
ELSIF number > 0 THEN
result := ’positive’;
ELSIF number < 0 THEN
result := ’negative’;
ELSE
-- hmm, the only other possibility is that number is null
result := ’NULL’;
END IF;
The key word
ELSIF
can also be spelled
ELSEIF
.
An alternative way of accomplishing the same task is to nest
IF-THEN-ELSE
statements, as in the
following example:
IF demo_row.sex = ’m’ THEN
pretty_sex := ’man’;
ELSE
IF demo_row.sex = ’f’ THEN
pretty_sex := ’woman’;
END IF;
END IF;
1050
C# Image Convert: How to Convert Adobe PDF to Jpeg, Png, Bmp, &
Add necessary references to your C# project: String inputFilePath = @"C:\input.pdf"; String outputFilePath = @"C:\output.jpg"; // Convert PDF to jpg.
how to add image to pdf file; add image to pdf form
C# Image Convert: How to Convert Tiff Image to Jpeg, Png, Bmp, &
Add necessary references to your C# project: RasterEdge.XDoc.PDF.dll. inputFilePath = @"C:\input.tif"; String outputFilePath = @"C:\output.jpg"; // Convert tiff
adding an image to a pdf in acrobat; acrobat add image to pdf
Chapter 40. PL/pgSQL - SQL Procedural Language
However, this method requires writing a matching
END IF
for each
IF
,so it is much more cumber-
some than using
ELSIF
when there are many alternatives.
40.6.2.4. Simple
CASE
CASE
search-expression
WHEN
expression
[,
expression
[ ... ]] THEN
statements
[ WHEN
expression
[,
expression
[ ... ]] THEN
statements
... ]
[ ELSE
statements
]
END CASE;
The simple form of
CASE
provides conditional execution based on equality of operands. The
search-expression
is evaluated (once) and successively compared to each
expression
in the
WHEN
clauses. If a match is found, then the corresponding
statements
are executed, and then
control passes to the next statement after
END CASE
. (Subsequent
WHEN
expressions are not
evaluated.) If no match is found, the
ELSE statements
are executed; but if
ELSE
is not present,
then a
CASE_NOT_FOUND
exception is raised.
Here is a simple example:
CASE x
WHEN 1, 2 THEN
msg := ’one or two’;
ELSE
msg := ’other value than one or two’;
END CASE;
40.6.2.5. Searched
CASE
CASE
WHEN
boolean-expression
THEN
statements
[ WHEN
boolean-expression
THEN
statements
... ]
[ ELSE
statements
]
END CASE;
The searched form of
CASE
provides conditional execution based on truth of Boolean expressions.
Each
WHEN
clause’s
boolean-expression
is evaluated in turn, until one is found that yields
true
.
Then the corresponding
statements
are executed, and then control passes to the next statement
after
END CASE
. (Subsequent
WHEN
expressions are not evaluated.) If no true result is found, the
ELSE statements
are executed; but if
ELSE
is not present, then a
CASE_NOT_FOUND
exception is
raised.
Here is an example:
CASE
1051
C# Create PDF from images Library to convert Jpeg, png images to
1.bmp")); images.Add(new Bitmap(Program.RootPath + "\\" 1.jpg")); images.Add(new Bitmap(Program.RootPath + "\\" 1.png")); / Build a PDF document with
add image to pdf file acrobat; how to add image to pdf in preview
VB.NET Create PDF from images Library to convert Jpeg, png images
1.bmp")) images.Add(New REImage(Program.RootPath + "\\" 1.jpg")) images.Add(New REImage(Program.RootPath + "\\" 1.png")) ' Build a PDF document with
adding images to a pdf document; add jpg to pdf
Chapter 40. PL/pgSQL - SQL Procedural Language
WHEN x BETWEEN 0 AND 10 THEN
msg := ’value is between zero and ten’;
WHEN x BETWEEN 11 AND 20 THEN
msg := ’value is between eleven and twenty’;
END CASE;
This form of
CASE
is entirely equivalent to
IF-THEN-ELSIF
,except for the rule that reaching an
omitted
ELSE
clause results in an error rather than doing nothing.
40.6.3. Simple Loops
With the
LOOP
,
EXIT
,
CONTINUE
,
WHILE
,
FOR
,and
FOREACH
statements, you can arrange for your
PL/pgSQL function to repeat a series of commands.
40.6.3.1.
LOOP
[ <<
label
>> ]
LOOP
statements
END LOOP [
label
];
LOOP
defines an unconditional loop that is repeated indefinitely until terminated by an
EXIT
or
RETURN
statement. The optional
label
can be usedby
EXIT
and
CONTINUE
statements withinnested
loops to specify which loop those statements refer to.
40.6.3.2.
EXIT
EXIT [
label
] [ WHEN
boolean-expression
];
If no
label
is given, the innermost loop is terminated and the statement following
END LOOP
is
executednext. If
label
is given, it must be the label of the current or some outer level of nestedloop
or block. Then the named loop or block is terminated and control continues with the statement after
the loop’s/block’s corresponding
END
.
If
WHEN
is specified, the loop exit occurs only if
boolean-expression
is true. Otherwise, control
passes to the statement after
EXIT
.
EXIT
can be used with all types of loops; it is not limited to use with unconditional loops.
When used with a
BEGIN
block,
EXIT
passes control to the next statement after the end of the block.
Note that a label must be used for this purpose; an unlabeled
EXIT
is never considered to match a
BEGIN
block. (This is a change from pre-8.4releases of PostgreSQL, whichwouldallowanunlabeled
EXIT
to match a
BEGIN
block.)
Examples:
LOOP
-- some computations
IF count > 0 THEN
EXIT;
-- exit loop
END IF;
END LOOP;
1052
C# WPF PDF Viewer SDK to convert and export PDF document to other
Highlight Text. Add Text. Add Text Box. Drawing Markups. Add Stamp Annotation. image file formats with high quality, support converting PDF to PNG, JPG, BMP and
add picture pdf; how to add a jpeg to a pdf file
VB.NET PDF - Convert PDF with VB.NET WPF PDF Viewer
Highlight Text. Add Text. Add Text Box. Drawing Markups. PDF Print. Work PDF to image file formats with high quality, support converting PDF to PNG, JPG, BMP and
add photo to pdf online; how to add image to pdf acrobat
Chapter 40. PL/pgSQL - SQL Procedural Language
LOOP
-- some computations
EXIT WHEN count > 0;
-- same result as previous example
END LOOP;
<<ablock>>
BEGIN
-- some computations
IF stocks > 100000 THEN
EXIT ablock;
-- causes exit from the BEGIN block
END IF;
-- computations here will be skipped when stocks > 100000
END;
40.6.3.3.
CONTINUE
CONTINUE [
label
] [ WHEN
boolean-expression
];
If no
label
is given, the next iteration of the innermost loop is begun. That is, all statements re-
maining in the loop body are skipped, and control returns to the loop control expression (if any) to
determine whether another loop iteration is needed. If
label
is present, it specifies the label of the
loop whose execution will be continued.
If
WHEN
is specified, the next iteration of the loop is begun only if
boolean-expression
is true.
Otherwise, control passes to the statement after
CONTINUE
.
CONTINUE
can be used with all types of loops; it is not limited to use with unconditional loops.
Examples:
LOOP
-- some computations
EXIT WHEN count > 100;
CONTINUE WHEN count < 50;
-- some computations for count IN [50 .. 100]
END LOOP;
40.6.3.4.
WHILE
[ <<
label
>> ]
WHILE
boolean-expression
LOOP
statements
END LOOP [
label
];
The
WHILE
statement repeats a sequence of statements so long as the
boolean-expression
evalu-
ates to true. The expression is checked just before each entry to the loop body.
For example:
WHILE amount_owed > 0 AND gift_certificate_balance > 0 LOOP
-- some computations here
1053
Chapter 40. PL/pgSQL - SQL Procedural Language
END LOOP;
WHILE NOT done LOOP
-- some computations here
END LOOP;
40.6.3.5.
FOR
(Integer Variant)
[ <<
label
>> ]
FOR
name
IN [ REVERSE ]
expression
..
expression
[ BY
expression
] LOOP
statements
END LOOP [
label
];
This form of
FOR
creates a loop that iterates over a range of integer values. The variable
name
is
automatically defined as type
integer
and exists only inside the loop (any existing definition of the
variable name is ignored within the loop). The two expressions giving the lower and upper bound of
the range are evaluated once when entering the loop. If the
BY
clause isn’t specified the iteration step
is 1, otherwise it’s the value specified in the
BY
clause, which again is evaluated once on loop entry.
If
REVERSE
is specified then the step value is subtracted, rather than added, after each iteration.
Some examples of integer
FOR
loops:
FOR i IN 1..10 LOOP
-- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop
END LOOP;
FOR i IN REVERSE 10..1 LOOP
-- i will take on the values 10,9,8,7,6,5,4,3,2,1 within the loop
END LOOP;
FOR i IN REVERSE 10..1 BY 2 LOOP
-- i will take on the values 10,8,6,4,2 within the loop
END LOOP;
If the lower bound is greater than the upper bound (or less than, in the
REVERSE
case), the loop body
is not executed at all. No error is raised.
If a
label
is attached to the
FOR
loopthen the integer loopvariablecan be referencedwith a qualified
name, using that
label
.
40.6.4. Looping Through Query Results
Using a different type of
FOR
loop, you can iterate through the results of a query and manipulate that
data accordingly. The syntax is:
[ <<
label
>> ]
FOR
target
IN
query
LOOP
statements
END LOOP [
label
];
1054
Chapter 40. PL/pgSQL - SQL Procedural Language
The
target
is a record variable, row variable, or comma-separated list of scalar variables. The
target
is successively assigned each row resulting from the
query
and the loop body is executed
for each row. Here is an example:
CREATE FUNCTION cs_refresh_mviews() RETURNS integer AS $$
DECLARE
mviews RECORD;
BEGIN
RAISE NOTICE ’Refreshing materialized views...’;
FOR mviews IN SELECT
*
FROM cs_materialized_views ORDER BY sort_key LOOP
-- Now "mviews" has one record from cs_materialized_views
RAISE NOTICE ’Refreshing materialized view %s ...’, quote_ident(mviews.mv_name);
EXECUTE ’TRUNCATE TABLE ’ || quote_ident(mviews.mv_name);
EXECUTE ’INSERT INTO ’
|| quote_ident(mviews.mv_name) || ’ ’
|| mviews.mv_query;
END LOOP;
RAISE NOTICE ’Done refreshing materialized views.’;
RETURN 1;
END;
$$ LANGUAGE plpgsql;
If the loop is terminated by an
EXIT
statement, the last assigned row value is still accessible after the
loop.
The
query
used in this type of
FOR
statement can be any SQL command that returns rows to the
caller:
SELECT
is the most common case, but you can also use
INSERT
,
UPDATE
,or
DELETE
with a
RETURNING
clause. Some utility commands such as
EXPLAIN
will work too.
PL/pgSQL variables are substituted into the query text, and the query plan is cached for possible
re-use, as discussed in detail in Section 40.10.1 and Section 40.10.2.
The
FOR-IN-EXECUTE
statement is another way to iterate over rows:
[ <<
label
>> ]
FOR
target
IN EXECUTE
text_expression
[ USING
expression
[, ... ] ] LOOP
statements
END LOOP [
label
];
This is like the previous form, except that the source query is specified as a string expression, which
is evaluated and replanned on each entry to the
FOR
loop. This allows the programmer to choose
the speed of a preplanned query or the flexibility of a dynamic query, just as with a plain
EXECUTE
statement. As with
EXECUTE
,parameter values canbe inserted intothe dynamic command via
USING
.
Another way to specify the query whose results should be iterated through is to declare it as a cursor.
This is described in Section 40.7.4.
40.6.5. Looping Through Arrays
The
FOREACH
loop is much like a
FOR
loop, but instead of iterating through the rows returned by a
SQL query, it iterates throughthe elements of an array value. (Ingeneral,
FOREACH
is meant for loop-
1055
Chapter 40. PL/pgSQL - SQL Procedural Language
ing through components of a composite-valued expression; variants for looping through composites
besides arrays may be added in future.) The
FOREACH
statement to loopover an arrayis:
[ <<
label
>> ]
FOREACH
target
[ SLICE
number
] IN ARRAY
expression
LOOP
statements
END LOOP [
label
];
Without
SLICE
,or if
SLICE 0
is specified, the loop iterates throughindividual elements of the array
produced by evaluating the
expression
.The
target
variable is assigned each element value in
sequence, and the loop bodyis executed for each element. Here is an example of looping through the
elements of an integer array:
CREATE FUNCTION sum(int[]) RETURNS int8 AS $$
DECLARE
s int8 := 0;
x int;
BEGIN
FOREACH x IN ARRAY $1
LOOP
s := s + x;
END LOOP;
RETURN s;
END;
$$ LANGUAGE plpgsql;
The elements are visitedin storage order, regardless of the number of array dimensions. Although the
target
is usually just a single variable, it can be a list of variables when looping through an array
of composite values (records). In that case, for each array element, the variables are assigned from
successive columns of the composite value.
Witha positive
SLICE
value,
FOREACH
iterates throughslices of the array rather than single elements.
The
SLICE
value must be an integer constant not larger than the number of dimensions of the array.
The
target
variable mustbe an array, andit receives successive slices of the array value, where each
slice is of the number of dimensions specified by
SLICE
.Here is an example of iterating through
one-dimensional slices:
CREATE FUNCTION scan_rows(int[]) RETURNS void AS $$
DECLARE
x int[];
BEGIN
FOREACH x SLICE 1 IN ARRAY $1
LOOP
RAISE NOTICE ’row = %’, x;
END LOOP;
END;
$$ LANGUAGE plpgsql;
SELECT scan_rows(ARRAY[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]);
NOTICE:
row = {1,2,3}
NOTICE:
row = {4,5,6}
NOTICE:
row = {7,8,9}
NOTICE:
row = {10,11,12}
1056
Chapter 40. PL/pgSQL - SQL Procedural Language
40.6.6. Trapping Errors
By default, any error occurring in a PL/pgSQL function aborts execution of the function, and indeed
of the surrounding transaction as well. You can trap errors and recover from them by using a
BEGIN
block with an
EXCEPTION
clause. The syntax is an extension of the normal syntax for a
BEGIN
block:
[ <<
label
>> ]
[ DECLARE
declarations
]
BEGIN
statements
EXCEPTION
WHEN
condition
[ OR
condition
... ] THEN
handler_statements
[ WHEN
condition
[ OR
condition
... ] THEN
handler_statements
... ]
END;
If no error occurs, this form of block simply executes all the
statements
,and then control passes
to the next statement after
END
.But if an error occurs within the
statements
,further processing
of the
statements
is abandoned, and control passes to the
EXCEPTION
list. The list is searched
for the first
condition
matching the error that occurred. If a match is found, the corresponding
handler_statements
are executed, and then control passes to the next statement after
END
.If no
match is found, the error propagates out as though the
EXCEPTION
clause were not there at all: the
error can be caughtby an enclosing blockwith
EXCEPTION
,or if there is none it aborts processing of
the function.
The
condition
names can be any of those shown in Appendix A. A category name matches any
error within its category. The special condition name
OTHERS
matches every error type except
QUERY_CANCELED
.(It is possible, but often unwise, to trap
QUERY_CANCELED
by name.) Condition
names are not case-sensitive. Also, an error condition can be specified by
SQLSTATE
code; for
example these are equivalent:
WHEN division_by_zero THEN ...
WHEN SQLSTATE ’22012’ THEN ...
If a new error occurs within the selected
handler_statements
, it cannot be caught by this
EXCEPTION
clause, but is propagated out. A surrounding
EXCEPTION
clause could catch it.
When an error is caught by an
EXCEPTION
clause, the local variables of the PL/pgSQL function
remain as they were when the error occurred, but all changes to persistent database state within the
block are rolled back. As an example, consider this fragment:
INSERT INTO mytab(firstname, lastname) VALUES(’Tom’, ’Jones’);
BEGIN
UPDATE mytab SET firstname = ’Joe’ WHERE lastname = ’Jones’;
x := x + 1;
y := x / 0;
EXCEPTION
1057
Documents you may be interested
Documents you may be interested