2017-08-25 3 views
1

J'ai un problème étrange concernant la programmation VB6.0 lorsque j'ajoute une valeur à la base de données firebird depuis DtPicker ou Calendar. Quand j'ajoute une date où le jour est de 1 à 12, il peut l'ajouter dans la base de données, mais quand j'essaye d'ajouter une date où le jour est le 13ème ou plus il montre le message d'erreurJe ne peux pas ajouter une valeur de date de données à firebird lorsque la partie jour est supérieure à 12

Erreur d'exécution '-2147467259' (80004005) ':
[pilote ODBC Firebird] d'erreur de conversion [Firebird] de chaîne "13/08/2017"

le type de base de données est "DATE", mais quand je tourne la tapez dans la base de données dans "VARCHAR" tout va bien, mais "VARCHAR" ne peut pas faire la fonction Date.

Image

+2

Il s'attend probablement à un format de date "" mm/jj/aaaa "'. Je suis habitué à VBA et non à VB6, mais cela pourrait être quelque chose comme utiliser 'Format (quelquechose_date," mm/jj/aaaa ")' – YowE3K

+0

comment est la syntaxe à SQL? J'utilise ce code pour le mettre dans la base de données: – SETYO

+0

comment est la syntaxe à SQL? J'utilise ce code pour le mettre dans la base de données: insérer dans les valeurs TBL_KAL ('"& Cal1.Value &"', '"& cmbKet.Text &"', '"& txtHour.Text &"') – SETYO

Répondre

0

Si vous passez valeur de date comme une chaîne ou dans le contexte d'une déclaration chaînés, assurez-vous de définir la valeur au format « AAAA-MM-JJ » (ISO_8601).

Si vous avez préparé des instructions avec des paramètres, le pilote lui-même gère automatiquement les conversions de type de données en toute sécurité. Au moins, ça devrait.

La dernière option est recommandée.