J'utilise une base de données SQL Serveur ; la procédure stockée 'CALCULDATE' est donc écrite en transact SQL.
Mais impossible de l'executer à partir de delphi (je lance dc toutes mes procédures stockées avec TStoredProc, composant avec lequel ça fonctionne parfaitement, mais j'aimerais le faire avec TSQLStoredProc) : une erreur dans les paramètres ('Invalid argument to date encode' pour cet exemple là mais pour d'autres procédures : "index de liste hors limite(0)") m'est spécifiée à chaque fois que j'exécute mon code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 StoredProc:=TSQLStoredProc.Create(nil); with StoredProc do try //je récupère la connexion d'une autre fenêtre (cette connexion fonctionne puisqu'il n'y a aucun problème avec les TSQLQuery) SQLConnection:=DlgImprimeur.SQLConnection; StoredProcName:='CALCULDATE' Params.Clear; Params.CreateParam(ftString, 'p_CDGRP', ptInput); Params.CreateParam(ftDateTime, 'p_PDTDEB', ptInput); Params.CreateParam(ftDateTime, 'p_PDTFIN', ptInput); ParamByName('p_CDGRP').AsString:=cdgrp; //dtdeb et dtfin dont des variables de type datetime ParamByName('p_PDTDEB').AsDateTime:=dtdeb; ParamByName('p_PDTFIN').AsDateTime:=dtfin; ExecProc; finally StoredProc.Free; end;
Rom
[Modération]
Pensez aux balises code
Merci de lire les régles du forum.
Laurent Dardenne
[/Modération]
Partager