\documentclass[a4paper, 11pt]{article}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{a4wide}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{color}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{ulem}
\usepackage{listings}
\usepackage{float}
\usepackage[rflt]{floatflt}
\usepackage{tabularx}
\setlength{\parindent}{0pt}
\title{Datenbank XML-Export mit Free Pascal}
\usepackage[
pdftitle={Datenbank XML-Export mit Free Pascal}
pdfsubject={Beispiel XML Export über die ADO Interface Libraries in Free Pascal}
pdfauthor={Udo Schmal}
pdfkeywords={Free Pascal, ADO, datapacket, XML, Example Code, XML Export}
]{hyperref}
\definecolor{darkblue}{rgb}{0,0,.5}
\hypersetup{pdftex=true, colorlinks=true, breaklinks=true, linkcolor=darkblue, menucolor=darkblue, pagecolor=darkblue, urlcolor=darkblue}
\begin{document}Datenbank XML-Export mit Free Pascal
\singlespacing
{\LARGE \textbf{\label{sec:title}ADO Datenbank XML-Export}}

\singlespacing
{\large \textbf{\label{sec:subtitle}datapacket Version 2.0}}

Um einfach einmal einige lesende Zugriffe auf die Datenbank zu realisieren, ist eine Export-Routine immer sehr aufschlussreich, in einen weiteren Beispiel möchte ich dann auch noch einen SQL-Dump erzeugen, aber dazu später!

\href{http://www.gocher.me/code/ADOXMLExport.lpr}{ADOXMLExport.lpr}

Natürlich ließe sich diese Routine auch gut mit dem Beispiel \href{http://www.gocher.me/ADO-ConnectionString}{ADO ConnectionString}  verbinden so müsste lediglich der Result-Wert also der komplette ConnectionString an die Procedure CreateXMLExport übergeben werden.

Es müssten dafür die Funktion getConnectionString in die Datei aufgenommen werden und natürlich die Benutzten Dateien aus dem Bereich uses zur Verfügung stehen! Diese Möglichkeiten stehen natürlich auch bei dem SQL-Dump zur Verfügung, ich wollte in den Beispielen jedoch nicht zu viele Bedingungen kombinieren, damit sie nicht zu komplex werden und abschreckend sind!
\begin{lstlisting}[breaklines]procedure CreateXMLExport(const Filename: string);
// change to -\&gt; procedure CreateXMLExport(const ConnectionString: string);
cn.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + Filename, '', '', 0);
// change to -\&gt; cn.Open(ConnectionString, '', '', 0);
CreateXMLExport(ParamStr(1));
// change to -\&gt; CreateXMLExport(getConnectionString);\end{lstlisting}
\end{document}