> Tech > Avec ADO.NET

Avec ADO.NET

Tech - Par iTPro - Publié le 24 juin 2010
email

L'épineux problème des guillemets simples est donc résolu. Attaquonsnous maintenant à  la limite de 8 000 caractères des variables varchar. Si la chaîne SQL dynamique dépasse 8 000 caractères, la requête va dans le mur. Si vous pensez que 8 000 caractères suffisent pour vos requêtes, sachez que la chaîne

Avec ADO.NET

SQL finale risque d’être très
longue, selon le nombre de colonnes
et la longueur en caractères de chaque
expression CASE. Dans notre exemple,
la requête échouera à  environ 100 colonnes.
Vous pouvez limiter par programme
le nombre de colonnes pour
que la requête n’échoue pas, mais si
vous avez besoin de dépasser la limite,
vous êtes coincé.

On peut s’affranchir de cette limite
grâce aux fonctions relationnelles
d’ADO.NET. L’exemple suivant génère
un rapport crosstab de largeur variable
avec autant de colonnes que nécessaire
sans utiliser des curseurs SQL, dynamic
SQL ou des expressions CASE.

Le listing 5 montre le code Visual
Basic .NET de cet exemple, qui décrit
une classe appelée XTabDotNetDS.
Notez l’instruction Inherits DataSet
dans le renvoi A en haut de la classe. Si
vous ne connaissez pas bien ADO.NET,
sachez qu’un dataset est une sorte de
base de données en mémoire miniature.
L’objet DataSet a une collection
Tables. Une table ADO.NET est appelée
DataTable. Chaque DataTable a une
collection Rows, qui contient des objets
DataRow, et une collection
Columns, qui contient des objets
DataColumn. L’objet DataSet a aussi
une collection Relations qui contient
des objets DataRelation, chargés de décrire
les relations référentielles entre
les DataTables. L’instruction Inherits
DataSet s’assure que la classe DataSet
custom démarre avec toutes les collections
et possibilités de la classe de base
DataSet d’ADO.NET. Quand l’objet
XTabDotNetDS est créé, le constructeur
pour la classe appelle trois procédures
: Get3Tables(), AddXTabTable()
et FillXTabTable().

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010