2009-06-08 6 views
0

J'ai un problème avec ODAC 6.2. Dans la page sur ODAC écrit que ODAC support Unicode. Maintenant, j'utilise le composant TOraSQl et je me connecte à la table Unicode dans Oracle. Je ne peux pas afficher les données Unicode dans une table. Je ne vois que du code ANCII. pls, aidez-moi. Je pense que TOraSql ne prend pas en charge Unicode)ODAC et Unicode

+0

Vous avez besoin de la version 2009 pour le support Unicode. Peut-être que c'est le problème. –

+0

@Gamecat: Uniquement pour afficher les données dans les composants connectés à TDataSource, mais pas pour obtenir des données du serveur dans les champs WideString. – mghie

Répondre

0

Disclaimer: Je n'utilise que DevArt Sql Server Data Access Components, mais je pense qu'ils sont assez semblables à la Oracle Data Access Components qu'il n'a pas d'importance dans le but de répondre à votre question.

Pour les champs de chaîne de la base de données, un composant TWideStringField sera créé et sa propriété Value renvoie une chaîne WideString. Quelque chose comme:

procedure TForm1.Button1Click(Sender: TObject); 
var 
    i: integer; 
    w: WideString; 
begin 
    for i := 0 to MSQuery1.FieldCount - 1 do begin 
    if MSQuery1.Fields[i] is TWideStringField then 
     w := TWideStringField(MSQuery1.Fields[i]).Value; 
    end; 
end; 

Ainsi, les composants certainement prennent en charge Unicode, mais vous ne pouvez pas simplement connecter une table, un composant source de données et une grille dans les versions Delphi avant Delphi 2009 et prévoyons de vous montrer le texte Unicode - La VCL dans ces versions Delphi n'est pas capable d'afficher les chaînes Unicode. Vous pouvez utiliser le TNT Unicode Controls, bien que je ne puisse pas dire s'il existe des contrôles sensibles aux données (je n'ai aucune expérience avec les contrôles TNT).

Alternativement, le Virtual Treeview de Mike Lischke fonctionne dans les versions antérieures de Delphi et utilise les appels API Unicode.

Mais il serait préférable d'utiliser simplement Delphi 2009 avec sa VCL compatible Unicode.

+0

Recommanderiez-vous SDAC sur ADO dans Win32? Si oui, pourquoi? –

+0

Je n'ai aucune expérience avec ADO, donc je ne peux pas les comparer; cependant SDAC nous a très bien servis pour nos projets, et avec UniDAC, le cas n'est devenu plus fort - accès transparent à plusieurs serveurs SQL en utilisant une couche très fine sur la bibliothèque d'accès natif, une tarification raisonnable et un bon support. Il n'est peut-être pas nécessaire de passer à SDAC à partir d'ADO, mais à l'époque, lorsque j'ai recherché nos options d'accès MS SQL Server à partir de Delphi 5 Professional, SDAC semblait la meilleure option. – mghie