|
Iniciado por MeAndYou, jan., 23 2018 11:01 AM - 6 respostas |
| |
| | | |
|
| |
Publicado em janeiro, 23 2018 - 11:01 AM |
Rebonjour les windevients C'est pas ma journée aujourd'hui... J'ai une chose assez improbable qui se passe... Je lance une requête SQL sur ma base de données en recherchant un valeur précise dans un champ (je vais aller droit au but ça sera plus clair) Requête SQL : "SELECT * FROM MABDD WHERE STATUT<> 1 AND NUMERO = 3474636349944" et le résultat me renvoi les données associé au numéro : 7807480 ?????? je ne comprends pas .... j'ai réindéxé la base et essayé de mettre la valeur recherché entre guillemets mais c'est toujours pareil... quelqu'un à une idée du problème ?? Merci d'avance ... c'est un vrai casse tête!!! |
| |
| |
| | | |
|
| | |
| |
Publicado em janeiro, 23 2018 - 2:12 PM |
bonjour si numero est une chaine c'est entre quote '3474636349944' |
| |
| |
| | | |
|
| | |
| |
Membro registado 40 mensagems Popularité : +1 (3 votes) |
|
Publicado em janeiro, 23 2018 - 3:46 PM |
Bonjour,
Dans quel type de variable la valeur 3474636349944 est-elle gérée dans le source ? et dans la base de donnée ?
Si ça peut être une piste...
Cordialement,
Laurent33 |
| |
| |
| | | |
|
| | |
| |
Publicado em janeiro, 23 2018 - 3:56 PM |
Merci pour vos réponses Serge - j'ai déjà essayé de mettre la chaine entre quote mais j'ai le même résultat Laurent33 - Je n'ai pas trop compris ton commentaire ... Mais cette donnée est une donnée rentrée manuellement... |
| |
| |
| | | |
|
| | |
| |
Membro registado 2.574 mensagems Popularité : +222 (260 votes) |
|
Publicado em janeiro, 24 2018 - 5:41 AM |
Bonjour,
ce que veut dire Laurent33 à mon avis c'est de quel type est ta donnée dans ta base ? (entier sur 4 octets, entier sur 8 octets, chaine, ...).
En l'occurrence, si c'est un entier sur 4 octets tu dois avoir un dépassement de la capacité, celui-ci étant limité à environ 2 000 000 000.
-- Cordialement,
Philippe SAINT-BERTIN Géode Informatique |
| |
| |
| | | |
|
| | |
| |
Publicado em janeiro, 24 2018 - 9:34 AM |
Bonjour, effectivement dans la base c'est un entier sur 4 octets et donc? |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.895 mensagems Popularité : +227 (347 votes) |
|
Publicado em janeiro, 24 2018 - 10:13 AM |
Bonjour, la plage de valeur des entiers sur 4 octets est -2 147 483 648 à 2 147 483 647, tu passes une valeur sur 8 octets, la machine tronque en fonction de sa capacité. C'est comme essayer de charger un Kangoo avec le fret d'un 38 T, quand le Kangoo part, il reste des colis. La conversion QWord->DWord confirme bien mon explication 3 474 636 349 944[QWord]=7 807 480[DWord] 3 474 636 349 944=0x329 0077 21F8, la machine ne conserve que 0x0077 21F8 qui correspond à 7 807 480
-- Il y a peut être plus simple, mais, ça tourneMensagem modificada, janeiro, 24 2018 - 10:18 AM |
| |
| |
| | | |
|
| | | | |
| | |
|