|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 16 ![]() |
Bonjour à tous j'espère que je ne me trompe de section pour mon poste (je vais donc poster le même dans la section langage C).
J'utilise Pro*C et j'ai un problème avec une requête CREATE TABLE. Je m'explique: Mon programme demande quel est le nom de ma variable mission, que je récupère tout bêtement avec un scanf. Je veux alors créer une table où un de mes champs doit avoir comme valeur le char qui est le nom de la mission. Mais voila, la fonction qui doit créer la table ne la crée pas... Alors que quand je rentre cette variable en dur, cela fonctionne très bien. J'aimerais avoir un petit coup de pouce de votre part si c'est possible. Si ça se trouve j'essaie de faire quelque chose pas forcément possible. Voila mon code de la fonction servant à lire la table: Voila le code servant créer la fonction: Code :
Merci d'avance pour votre aide. PS:Je travaille sous code blocks et avec oracle |
||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 16 ![]() |
Je vois que personne n'utilise PRO*C de nos jours...
N'empêche, je suis toujours coincé avec ce truc. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
Commencez par afficher le contenu de la variable TABLE avant d’exécuter la requête.
Par ailleurs en C on déteste les noms des variables en majuscule les gens civilisés les utilise seulement pour les types ou les constantes. |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 16 ![]() |
Merci pour votre réponse, mais en fait c'est la balise code qui a mis toute seule table en majuscule.
J'ai donc changé la variable table, en l'apelant nom. De plus je l'ai déclaré en char *nom, ce qui m'autorise à ne plus utiliser le strcpy. Du coup maintenant, j'ai une erreur qui me dit que les variables hotes ne sont pas autorisées dans une instruction DDL (visiblement create table en est une). Est ce alors possible de passer outre? Via un chemin différent? |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
Via sql dynamique. La doc pro*c contient pas mal des exemples.
|
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : octobre 2011 Messages : 16 ![]() |
Merci,
Je vais donc chercher de ce côté là. Mais je ne connais encore rien au sql dynamique. Si éventuellement tu saurais coder la fonction: Code :
Je ne sais pas si ça marchera mais merci du conseil |
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 313 ![]() |
|
|
|
10
|
Copyright © 2000-2012 - www.developpez.com