%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper,headsepline,footsepline]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrlayer-scrpage}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

% Mehrere Spalten
\usepackage{multicol}

% Backticks
\usepackage{upquote}

%Kopfzeile
\ihead{Node.js}
\chead{}
\ohead{https://kohnlehome.de/html/node-better-sqlite3.pdf}
%\setheadsepline{0.5pt}

%Fußzeile
%\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
  \LARGE % Schriftgröße
  \bfseries % Fettdruck
  \sffamily % Serifenlose Schrift
  better-sqlite3 mit Node.js
\end{center}

\section*{Quelle}
\href{https://github.com/WiseLibs/better-sqlite3}{github.com/WiseLibs/better-sqlite3}


\section*{Installation}
\begin{verbatim}
npm install better-sqlite3
\end{verbatim}

\section*{Verbindung mit Datenbank}
\begin{verbatim}
import Database from 'better-sqlite3';

db = new Database('datei.sqlite3');
db.pragma('journal_mode = WAL');
\end{verbatim}

\section*{SQL-Anweisung ohne Rückgabewert ausführen}
\begin{verbatim}
const sql = 'CREATE TABLE ...'; // DROP TABLE ..., INSERT INTO ..., ... 
db.exec(sql);    
\end{verbatim}

\section*{SQL-Anweisung mit Prepared Statement}
\begin{verbatim}
const stmt = db.prepare('INSERT INTO kontakte (vorname, nachname) VALUES (?, ?)');
const info = stmt.run('Anna', 'Arm');
const anzahleDerAenderungen = info.changes;
\end{verbatim}

\section*{SELECT mit mehreren Ergebnissen}
\begin{verbatim}
const stmt = db.prepare('SELECT * FROM kontakte');
const tabelle = stmt.all();
\end{verbatim}

\section*{SELECT mit einem Ergebnis}
\begin{verbatim}
const stmt = db.prepare('SELECT * FROM kontakte WHERE name = ?');
const anna = stmt.get('Anna');
\end{verbatim}

\end{document}
