2010-02-18 3 views
0

Ma fonction prend le pointeur *d comme paramètre. J'ai écrit cette ligne - EXEC SQL VAR d->x is STRING; En fait, je veux une variable qui peut stocker la valeur d->x. avec cette variable, je peux manipuler un autre travail.C erreur SQL pointeur

je reçois l'erreur suivante

Semantic error 
EXEC SQL VAR d->x is STRING; 

En attente de vos suggestions.

+2

postez le code s'il vous plaît, et dites-nous quelle base de données vous utilisez. –

+0

Qui vous donne une telle erreur? Avez-vous compilé votre source en utilisant 'proc'? – qrdl

+0

oh qrdl, J'utilise make fichier pour la compilation. – ambika

Répondre

1

Si je devais deviner, vous voulez avoir un tableau char, ou un pointeur char avec suffisamment de mémoire, puis mettre votre chaîne de requête dans ce:

char query[BIG_ENOUGH]; 
sprintf(query, "EXEC SQL VAR %s is STRING;", d->x); 

qui précède suppose que votre avoir une chaîne dans d->x, et que vous voulez la valeur de chaîne dans votre requête SQL. Je ne sais pas si votre requête SQL est bien formée.

Si ce n'est pas ce que vous voulez, vous devez poster plus d'informations.

+0

Mlle! 'EXEC SQL VAR' est l'instruction SQL embarquée d'Oracle, peut être inclus directement dans la source – qrdl