OVH Cloud OVH Cloud

SQLserver

14 réponses
Avatar
tjfromparis
bonjour,


J'ai un soucis avec une connection SQLserver : la connection passe
bien mais les requetes non ???

----------------------------------------------------------------------------=
--------------------------------------
SI HD=E9critConnexion("SQLserver", "sa", "dba", "JACQUA-SPEIG\LOCAL",
"test", "SQLNCLI", hOLectureEcriture, "", hCurseurServeur +
hCurseurOpenKeyset) =3D Faux ALORS
Erreur("HS")
SINON
Info("OK")
FIN

sql est une cha=EEne
sql =3D " select * from TABLETEST "
MaRequ=EAte est une Source de Donn=E9es

SI PAS HEx=E9cuteRequ=EAteSQL(MaRequ=EAte,sql) ALORS
Erreur("Erreur d'initialisation de la requ=EAte"+RC+HErreurInfo())
RETOUR
FIN

HLitPremier(MaRequ=EAte)
TANTQUE PAS HEnDehors()
Trace(MaRequ=EAte.col1)
HLitSuivant()
FIN
----------------------------------------------------------------------------=
--------------------------------------

J'ai le message "erreur d'init de la requete"
"erreur dans le code de la requete"
"Fichier TABLETEST inconnu"

La connection est etablie : j'ai verifi=E9 sur la base
La table existe bien
Je suis sur le bon schema.

Une id=E9e , une suggestion ?

4 réponses

1 2
Avatar
Fredo MT
Ou alors un HExecuteRequeteSQL(MaReq,"SELECT COUNT(*) AS Comptage FROM
maTable WHERE ... ")
HLitPremier(MaReq)
iNbLig est entier = MaReq.Comptage

"tj" a écrit dans le message de news:
47a7a8d2$0$29775$
ca roule impec.
J'ai maintenant un autre probleme : recuperer le nombre de colonnes
retourné par la requete.

avec SQLmanager c'est facile
Avec un ordre SQLexec : on fait ca avec sqlinfogene et sql.nbcol

mais lorsque l'on cré sa connection avec un hdecritconnexion on utilise
quoi ?

pour appeler la fonction SQLinfogene il faut lui passer le nom de la
requete, mais en utilsant le HExécuteRequêteSQL la requete n'a pas de nom
vu qu'elle est envoyée dans une source de données ?!

et executer le sqlinfogene sans passer de nom de requete (qui devrait
ramener moins d'info mais au moins celle qu'il me faut) windev me dit
qu'il n'y a pas de connection courante...




"Dominique Lecocq" a écrit dans le
message de groupe de discussion :
47a72505$0$895$
Bonjour,
juste une remarque : même pour à des fin de test, IL NE FAUT PAS UTILISER
"SA", c'est trop dangereux, crée un user, avec des droit sur tes objets
ca prend 3 minutes.

Bon courage

Dominique "QNX" Lecocq

a écrit dans le message de news:

bonjour,


J'ai un soucis avec une connection SQLserver : la connection passe
bien mais les requetes non ???

------------------------------------------------------------------------------------------------------------------
SI HDécritConnexion("SQLserver", "sa", "dba", "JACQUA-SPEIGLOCAL",
"test", "SQLNCLI", hOLectureEcriture, "", hCurseurServeur +
hCurseurOpenKeyset) = Faux ALORS
Erreur("HS")
SINON
Info("OK")
FIN

sql est une chaîne
sql = " select * from TABLETEST "
MaRequête est une Source de Données

SI PAS HExécuteRequêteSQL(MaRequête,sql) ALORS
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN

HLitPremier(MaRequête)
TANTQUE PAS HEnDehors()
Trace(MaRequête.col1)
HLitSuivant()
FIN
------------------------------------------------------------------------------------------------------------------

J'ai le message "erreur d'init de la requete"
"erreur dans le code de la requete"
"Fichier TABLETEST inconnu"

La connection est etablie : j'ai verifié sur la base
La table existe bien
Je suis sur le bon schema.

Une idée , une suggestion ?





Avatar
Pierre BOUSQUET
chaineoccurrence(HListeRubrique())+1

tj a formulé ce mardi :
ca roule impec.
J'ai maintenant un autre probleme : recuperer le nombre de colonnes retourné
par la requete.

avec SQLmanager c'est facile
Avec un ordre SQLexec : on fait ca avec sqlinfogene et sql.nbcol

mais lorsque l'on cré sa connection avec un hdecritconnexion on utilise quoi
?

pour appeler la fonction SQLinfogene il faut lui passer le nom de la requete,
mais en utilsant le HExécuteRequêteSQL la requete n'a pas de nom vu qu'elle
est envoyée dans une source de données ?!

et executer le sqlinfogene sans passer de nom de requete (qui devrait ramener
moins d'info mais au moins celle qu'il me faut) windev me dit qu'il n'y a pas
de connection courante...




"Dominique Lecocq" a écrit dans le
message de groupe de discussion : 47a72505$0$895$
Bonjour,
juste une remarque : même pour à des fin de test, IL NE FAUT PAS UTILISER
"SA", c'est trop dangereux, crée un user, avec des droit sur tes objets ca
prend 3 minutes.

Bon courage

Dominique "QNX" Lecocq

a écrit dans le message de news:

bonjour,


J'ai un soucis avec une connection SQLserver : la connection passe
bien mais les requetes non ???

------------------------------------------------------------------------------------------------------------------
SI HDécritConnexion("SQLserver", "sa", "dba", "JACQUA-SPEIGLOCAL",
"test", "SQLNCLI", hOLectureEcriture, "", hCurseurServeur +
hCurseurOpenKeyset) = Faux ALORS
Erreur("HS")
SINON
Info("OK")
FIN

sql est une chaîne
sql = " select * from TABLETEST "
MaRequête est une Source de Données

SI PAS HExécuteRequêteSQL(MaRequête,sql) ALORS
Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
RETOUR
FIN

HLitPremier(MaRequête)
TANTQUE PAS HEnDehors()
Trace(MaRequête.col1)
HLitSuivant()
FIN
------------------------------------------------------------------------------------------------------------------

J'ai le message "erreur d'init de la requete"
"erreur dans le code de la requete"
"Fichier TABLETEST inconnu"

La connection est etablie : j'ai verifié sur la base
La table existe bien
Je suis sur le bon schema.

Une idée , une suggestion ?






--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Avatar
J.B.
Le Tue, 05 Feb 2008 08:50:02 +0100, Fredo MT
a écrit:

Ou alors un HExecuteRequeteSQL(MaReq,"SELECT COUNT(*) AS Comptage FROM
maTable WHERE ... ")
HLitPremier(MaReq)
iNbLig est entier = MaReq.Comptage

"tj" a écrit dans le message de news:
47a7a8d2$0$29775$
ca roule impec.
J'ai maintenant un autre probleme : recuperer le nombre de colonnes
retourné par la requete.

avec SQLmanager c'est facile
Avec un ordre SQLexec : on fait ca avec sqlinfogene et sql.nbcol

mais lorsque l'on cré sa connection avec un hdecritconnexion on utilise
quoi ?

pour appeler la fonction SQLinfogene il faut lui passer le nom de la
requete, mais en utilsant le HExécuteRequêteSQL la requete n'a pas de
nom
vu qu'elle est envoyée dans une source de données ?!

et executer le sqlinfogene sans passer de nom de requete (qui devrait
ramener moins d'info mais au moins celle qu'il me faut) windev me dit
qu'il n'y a pas de connection courante...




Nombre de lignes ou de colonnes ?


--
J.Bratières
Avatar
tjfromparis
impec , ca fait l'affaire.

chaineoccurrence(HListeRubrique())+1

par contre, la fonction hnbEnr ramene le nombre de ligne , ce qu'il me
faut c'est le nombre de champs


merci bien à tout le monde

On 5 fév, 09:28, Pierre BOUSQUET wrote:
chaineoccurrence(HListeRubrique())+1

tj a formulé ce mardi :



> ca roule impec.
> J'ai maintenant un autre probleme : recuperer le nombre de colonnes reto urné
> par la requete.

> avec SQLmanager c'est facile
> Avec un ordre SQLexec : on fait ca avec sqlinfogene et sql.nbcol

> mais lorsque l'on cré sa connection avec un hdecritconnexion on utilis e quoi
> ?

> pour appeler la fonction SQLinfogene il faut lui passer le nom de la req uete,
> mais en utilsant le HExécuteRequêteSQL la requete n'a pas de nom vu qu'elle
> est envoyée dans une source de données ?!

> et executer le sqlinfogene sans passer de nom de requete (qui devrait ra mener
> moins d'info mais au moins celle qu'il me faut) windev me dit qu'il n'y a pas
> de connection courante...

> "Dominique Lecocq" a écrit dans le
> message de groupe de discussion : 47a72505$0$895$ ...
>> Bonjour,
>> juste une remarque : même pour à des fin de test, IL NE FAUT PAS UT ILISER
>> "SA", c'est trop dangereux, crée un user, avec des droit sur tes obje ts ca
>> prend 3 minutes.

>> Bon courage

>> Dominique "QNX" Lecocq

>> a écrit dans le message de news:
>>
>> bonjour,

>> J'ai un soucis avec une connection SQLserver : la connection passe
>> bien mais les requetes non ???

>> ----------------------------------------------------------------------- -------------------------------------------
>> SI HDécritConnexion("SQLserver", "sa", "dba", "JACQUA-SPEIGLOCAL",
>> "test", "SQLNCLI", hOLectureEcriture, "", hCurseurServeur +
>> hCurseurOpenKeyset) = Faux ALORS
>> Erreur("HS")
>> SINON
>> Info("OK")
>> FIN

>> sql est une chaîne
>> sql = " select * from TABLETEST "
>> MaRequête est une Source de Données

>> SI PAS HExécuteRequêteSQL(MaRequête,sql) ALORS
>> Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
>> RETOUR
>> FIN

>> HLitPremier(MaRequête)
>> TANTQUE PAS HEnDehors()
>> Trace(MaRequête.col1)
>> HLitSuivant()
>> FIN
>> ----------------------------------------------------------------------- -------------------------------------------

>> J'ai le message "erreur d'init de la requete"
>> "erreur dans le code de la requete"
>> "Fichier TABLETEST inconnu"

>> La connection est etablie : j'ai verifié sur la base
>> La table existe bien
>> Je suis sur le bon schema.

>> Une idée , une suggestion ?

--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "


1 2