<< Click to Display Table of Contents >> Navigation: Background Services > Webservices (Providering) > Registerkarte „Code" > SQL-API in Webservices (Providering) |
Definieren Sie SQL-API-Funktionen (über T-SQL), die direkt und bequem durch C#-Scripte aufgerufen werden können
In C#-Scripten kann zwar über die Kontextvariable db auf die Datenbank direkt zugegriffen werden, aber der Zugriff über SQL-API ist sicherer.
Bespiel für SQL-API
Name : GetRolName Rückgabewert: string Parameter : int rolid Inhalt : select ROL_NAME from ROL where ROL_ID = @rolid
|
Benutzen in C#:
string rolname = GetRolName(1);
|
Für SQL-APIs, die ein IDBResultset zurückgeben, können im Reiter „Spalten“ die zurückgegebenen Spalten explizit definiert werden. Nach der Definition wird dann automatisch eine neue vererbte Klasse von IDBResultsets generiert, die diese Spalten als Methoden enthält.
Beispiel für SQL-API
Name : FindRol Rückgabewert: rs_FindRol(int ROL_ID, string ROL_NAME) Parameter : string search Inhalt : select ROL_ID, ROL_NAME from ROL where charindex(@search,ROL_NAME)>0
|
Benutzen in C#:
string dump = ""; rs_FindRol rs = this.FindRol("db"); for (int i=0; i<rs.Rows; i++) dump += rs.ROL_ID(i) + " => " + rs.ROL_NAME(i) + "\r\n";
|
Wie im Beispiel für SQL-API zu sehen, enthält die Variable rs vom Type rs_FindRol neben den Methoden und Attributen von IDBResultset auch noch die Methoden ROL_ID und ROL_NAME jeweils mit dem Parameter rowindex.
Es ist sicherer, diese Art von SQL-APIs zu benutzen, weil die Attribute nicht als Zeichenfolgen genutzt werden und so ein „Vertippen“ verhindert wird.