Curseur SQL

Résolu
soleil_levant Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   -  
Giorgiolino Messages postés 253 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis entrain de faire un script avec curseur sur une base access, le script est assez simple, il vérifie avec une boucle while si le curseur_client est vrais ou pas, si oui démarre l'affichage dans la variable @nom.
mon script ne fonctionne pas et m'affiche expected 'DELETE', 'SELECT'... alors que le curseur est un select ??? Voici le code :

sql>DECLARE @nom VARCHAR(50)

DECLARE curseur_client CURSOR FOR SELECT `Nom Expediteur` FROM `Base AML`

OPEN curseur_client

FETCH curseur_client INTO @nom

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @nom
FETCH curseur_client INTO @nom
END
CLOSE curseur_client

DEALLOCATE curseur_client;

Aidez moi je vous prie, c'est urgent s'il vous plaît, dois rendre un rapport demain sur les curseurs des SGBD. Merci infiniment,

5 réponses

soleil_levant Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   32
 
Salut,

C'est aussi simple, après avoir eu l'expérience sur les sgbdr depuis, je confirme la non existance des curseurs sous access. En tout cas pas sur le moteur jet. En revanche sous VBA, on utilisera plutot les RecordSet. C'est des curseurs particuliers mais qui répondent très bien à la demande de navigation entre enregistrements.
Gros défaut, la non stabilité! Et oui, je vous confirme le gros défaut des curseurs VBA ODBC ( DAO OU ADO) car ils ne pointent pas toujours sur le premier enregistrement. Il faut impérativement écrire explicitement le movefirst. Et autres soucis des codes VBA gourmants en ressources. A chaque fois que je code, ça marche très bien et 20% de chance de plantage à cause des fuites de mémoires causés par la mauvaise gestion de mémoire sur ces outils.

Enfin, depuis, perso j'ai évolué vers le fameux SGBDR Oracle. Et c'est vraiment très puissant et sa performance est sans équivalence.

J'espère que ma réponse apportera plus de lumières.

Merci pour vous tous, en particulier Christounet à qui je tire mon chapeau !!
3
Giorgiolino Messages postés 253 Date d'inscription   Statut Contributeur Dernière intervention   52
 
Bien pris note.

Merci en tout cas d'avoir apporté l'info. Comme quoi, presqu'un an après un post peut encore renaître de ses cendres. En attendant, je marque le post comme résolu.

Bonne continuation.
0
soleil_levant Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   32
 
Bonjour, tjrs pas de rép :(
1
soleil_levant Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   32
 
Bonsoir,

avez vs une suggestion s'il vous plaît, c'est urgent merci :(
0
crazy_widad
 
ben j crois que tu devais enlever les côtes que t'as mis dans le select c tt
0
soleil_levant Messages postés 393 Date d'inscription   Statut Membre Dernière intervention   32
 
....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alinounet
 
on dirait que tu as 2 declare dans ta procedure ?
le BEGIN est-il bien placé ?
0
Giorgiolino Messages postés 253 Date d'inscription   Statut Contributeur Dernière intervention   52
 
Vu la date du post, je doute que tu puisses avoir une réponse.
Ceci dit, ça peut être intéressant de voir si quelqu'un peut apporter une réponse
à ce problème, de manière à faire avancer la commaunauté.
0