Erreur insert into dans base oracle à partir de vb6
vbetu
Messages postés4Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention26 octobre 2004
-
25 oct. 2004 à 16:38
jujunio
Messages postés37Date d'inscriptionlundi 24 mars 2003StatutMembreDernière intervention22 septembre 2010
-
2 nov. 2004 à 16:42
bonjour, j'utilise une connexion odbc en dao pour manipuler des données oracle.
lorsque je fais un select je n'ai pas de probleme pour recuperer les données. mais qd je fais un insert into simple sur une table à une colonne j'ai l'erreur 3113 :
le champ 'T1' n'est pas un champ pouvant être mis à jour
voici mon code :
cmd = "INSERT INTO TEST (T1) VALUES('test);"
dbs.Execute (cmd)
avez-vous deja eu ce probleme?
la table possède une colonne de type varchar2(10) et peut être nulle.
vbetu
Messages postés4Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention26 octobre 2004 26 oct. 2004 à 11:20
non, il est pas en autoincrement. c'est un champ ordinaire de type varchar(10) sans contraintes.
mais peut-être cela vient du fait que j'utilise le .execute et il y a peut-être un paramètre à mettre pour pouvoir écrire sur une table. faut-il utiliser la propiété .openrecordset ...
je ne maitrise pas bien la connexion odbc. voici mon code de départ me permettant de me connecter à ma base oracle :
Dim dbs As Database
Dim enreg As Variant
Dim cmd As Variant
Dim strAttributs As String
Dim nomBase, nomServeur, nomUt, mdp As String
Dim val As String
val = "test"
nomBase = "nombase" 'Nom de la base (Data source name de la source ODBC)
nomServeur = "service_name" 'Nom du serveur (Service name de la source ODBC)
nomUt = "nom_user" 'Nom d'utilisateur de connexion à la base
mdp = "password" 'Mot de passe de l'utilisateur pour la connexion
vbetu
Messages postés4Date d'inscriptionmercredi 20 octobre 2004StatutMembreDernière intervention26 octobre 2004 26 oct. 2004 à 12:14
toujours pas. même problème. je rappelle que j'utilise access pour développer en visual basic. sur un simple formulaire...
quand je tape .execute il me propose après la parenthèse de rentrer la chaine de caractere comprenant la requete mais aussi de rentrer une option. mais je ne sais pas quelle option il faut rentrer