banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 26 March 2008 12:20

Cartosig
Participant assidu
Date d'inscription: 16 Oct 2006
Messages: 222

[MB 8] Insérer des objets dans une table

Bonjour,

J'avais déjà eu ce problème il y a un moment avec MapBasic, qui est agaçant au plus haut point :

Je crée une table :

Code:

Create Table g_strNewPath (PID Char(17), RID Char(17), DIR Integer, IDX Integer, METERS Float, SECONDS Float)
Create Map For g_strNewPath Using RPATH_GEOM

Pas de problème.
J'insère des valeurs dans tous mes champs, par contre pas moyen d'insérer un object contenu dans une variable objet avec l'insert suivant :

Code:

Insert into g_strNewPath Values (g_nPathID, rid, g_nPathDIR, 0, meters, seconds, SelObj)

J'ai essayé en spécifiant les noms des champs (Insert into matable () Values () ), en gros de toutes les façon possibles, il me retourne toujours que le nombre de valeures insérées n'est pas égal au nombre de champs...
Pourtant si je rajoute un Update g_strNewPath set GEOM = SelObj juste après, l'objet est bien stocké dans la table !

Je me doute bien qu'il y a ici une subtilité (pour ne pas dire une faiblesse ^^) de MB... Si vous pouviez me rafraichir la mémoire !

Hors ligne

 

#2 Wed 26 March 2008 14:13

Gérard parcoli
Participant actif
Date d'inscription: 9 Jan 2007
Messages: 95

Re: [MB 8] Insérer des objets dans une table

Bonjour,

Essayez l'autre syntaxe :

Code:

Insert into g_strNewPath (col1, col2, col3, col4, col5, object) 
   Values (g_nPathID, rid, g_nPathDIR, 0, meters, seconds, SelObj)

Hors ligne

 

#3 Wed 26 March 2008 15:44

Cartosig
Participant assidu
Date d'inscription: 16 Oct 2006
Messages: 222

Re: [MB 8] Insérer des objets dans une table

Merci, j'ai compris d'où provient l'erreur : j'avais des variables dans ma procédure qui portaient le même nom que l'un des champs de la table, ce qui faisait planter l'insert.

A bientôt!

Hors ligne

 

Pied de page des forums

Powered by FluxBB