|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
Bonjour, j'ai une situation bizarre et bloquante :
Voici une table toute simple : CREATE TABLE DEVISE ( CODE_DEVISE Char(3) NOT NULL COLLATE ES_ES_CI_AI, NOM_DEVISE Varchar(20) NOT NULL COLLATE ES_ES_CI_AI, CONSTRAINT PK_DEVISE PRIMARY KEY (CODE_DEVISE) ); En essayant de faire une requête paramétrée avec le code suivant Code :
Cela est du au fait que la colonne code_devise est de type CHAR(3) et que l'expression "chf%" en fait 4. Pourtant il s'agit d'un LIKE, donc on peut très bien imaginer que la formulation de l'expression à tester soit plus longue que 3. Si vous essayer d'utiliser des expressions comme "ch^s" ou "%chf" qui sont valides, la requête est tout de même rejetée. Je me demande si c'est un bug du provider ADO.net, ou si il s'agit de quelque chose de plus profond. Donc si quelqu'un pouvait essayer un preparedStatement avec java et me dire le résultat... Ou me donner une solution. Merci d'avance. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
et ce ne serait pas plutot :
Code :
afin d'écrire Code :
SELECT * FROM DEVISE WHERE DEVISE.CODE_DEVISE LIKE 'chf%'
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
||
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
Non c'était correct,
La prise en charge des quote pour les strings ainsi que des caractères d'échappement est automatique. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
alors c'est un pb ADO.net
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
J'ai posté un message sur le tracker de firebird ADO.net provider.
Maintenant dieu sait quand est-ce que ce sera résolu sachant que c'est fait par des bénévoles qui ne doivent rien à personne. Les limites du open source... |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() ![]() ![]() Philippe MakowskiConsultant spécialité Firebird Inscription : mai 2002 Messages : 2 215 ![]() |
Citation:
En plus du tracker tu peux joindre la liste http://www.firebirdsql.org/index.php...otnet-provider Ps tu l'a enregistré là : http://tracker.firebirdsql.org/ ? parce que je ne vois rien pour aujourd'hui dans le projet dotnet
__________________
Philippe Makowski IBPhoenix - Firebird Membre de l'April |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
Non bien sûr tu as raison je devrai pas réagir comme ça.
C'est juste que je bosse sur un application commerciale très importante pour mon entreprise et que ce genre de chose me fait parfois vraiment peur. J'ai posté un exemple sur http://tracker.firebirdsql.org/browse/DNET-124 Est-ce que ce sera bien reconnu comme étant un bug? Je l'espère... PS: Au fait j'ai vu que tu avais posté au sujet d'une collation FR_FR_CI_AI, ça fait plaisir. |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() Développeur d'applications Inscription : novembre 2005 Messages : 2 324 ![]() |
Ok voici la situation.
Le problème a été reconnu, toutefois l'auteur du driver ne semble pas sûr de vouloir désactiver la vérification de la longueur des paramètres et laisser la base de donnée réagir sur l'éventuel faute. Je me demande ce que les autres providers ADO pour .Net font dans ce genre de situation... SI quelqu'un saurait me dire? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com