OVH Cloud OVH Cloud

Fichier .sql et ADO

5 réponses
Avatar
Lapin
Bonsoir,

J'ai une requête (fichier .sql) sous SQL Server.
Je voudrais l'affecter à un recordset.
Cela fonctionne bien avec une vue sous SQL Server, mais pas avec une
"requête".

Si quelqu'un peut m'aider, merci !

5 réponses

Avatar
Zoury
Salut Lapin! :O)

peut-on voir ton code?


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Lapin" wrote in message
news:
Bonsoir,

J'ai une requête (fichier .sql) sous SQL Server.
Je voudrais l'affecter à un recordset.
Cela fonctionne bien avec une vue sous SQL Server, mais pas avec une
"requête".

Si quelqu'un peut m'aider, merci !




Avatar
Lapin
B'soir,

Ben j'ai une connection oledb sur un server sql, et j'ouvre un recordset.
Quand le recordset est basé sur une vue sql ou une procédure stockée, pas de
prob evidemment.
Mais les vues ne supportent pas le CASE WHEN, or j'en ai besoin !
Donc j'ai écrit ma requête avec le SQL query analyser, mais comment utiliser
alors cette requête avec mon recordset ?
Je ne peux pas appeler le fichier ".sql", alors p'têt un CREATE VIEW ou une
autre idée ?

Merci !

(XPOST avec mpf.sqlserver)
Avatar
JeanP
Bonjour
Une solution
dim ADORS as adodb.recordset
dim SCmd as string
set adors = new adodb.recordset
scmd = le texte de ta requête
adors.open scmd ,connexion,type d'accès,verrou,adcmdtext

Une autre avec l'objet command
dim ADORS as new adodb.recordset
dim ADOCMD as new adodb.command

adocmd.activeconnection = connexion
adocmd.commandtext = le texte de ta requête
adors.open adocmd,,type d'accès,verrou,type de commande
Si tu veux, je peux t'envoyer un bout de code
Bon boulot
Jean

"Lapin" a écrit dans le message de news:

Bonsoir,

J'ai une requête (fichier .sql) sous SQL Server.
Je voudrais l'affecter à un recordset.
Cela fonctionne bien avec une vue sous SQL Server, mais pas avec une
"requête".

Si quelqu'un peut m'aider, merci !




Avatar
Zoury
Salut!

Mais les vues ne supportent pas le CASE WHEN, or j'en ai besoin !



Tu peux utiliser un case dans une vues.. il suffit de ne pas utiliser
Entreprise Manager pour la codée mais un autre logiciel comme le Query
Manager..

Exemple :
create view dbo.vwMaVue
as
select case when len(p.firstname) > len(p.lastname) then p.firstname else
p.lastname end as LongestName
from person p



Donc j'ai écrit ma requête avec le SQL query analyser, mais comment


utiliser
alors cette requête avec mon recordset ?



Regarde du côté de la fonction Open du Recorset... L'object Command permet
également d'exécuter des requetes..


Je ne peux pas appeler le fichier ".sql", alors p'têt un CREATE VIEW ou


une
autre idée ?



Si tu souhaites exécuter un fichier .sql, tu peux utiliser l'utilitaire
osql.exe qui se trouve dans le répertoire C:Program FilesMicrosoft SQL
Server80ToolsBinn. Exécute le à partir de la fenêtre de commande dos...
tu peux lui passer /? en paramètre afin de consulter l'aide sur les
paramètres de l'utilitaire.. Tu peux l'utiliser à partir de ton code VB
grace à la fonction Shell ou encore l'API ShellExecute..


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Lapin
Merci Zoury, c'est très clair !

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news:
Salut!

> Mais les vues ne supportent pas le CASE WHEN, or j'en ai besoin !

Tu peux utiliser un case dans une vues.. il suffit de ne pas utiliser
Entreprise Manager pour la codée mais un autre logiciel comme le Query
Manager..

Exemple :
create view dbo.vwMaVue
as
select case when len(p.firstname) > len(p.lastname) then p.firstname else
p.lastname end as LongestName
from person p



> Donc j'ai écrit ma requête avec le SQL query analyser, mais comment
utiliser
> alors cette requête avec mon recordset ?

Regarde du côté de la fonction Open du Recorset... L'object Command permet
également d'exécuter des requetes..


> Je ne peux pas appeler le fichier ".sql", alors p'têt un CREATE VIEW ou
une
> autre idée ?

Si tu souhaites exécuter un fichier .sql, tu peux utiliser l'utilitaire
osql.exe qui se trouve dans le répertoire C:Program FilesMicrosoft SQL
Server80ToolsBinn. Exécute le à partir de la fenêtre de commande dos...
tu peux lui passer /? en paramètre afin de consulter l'aide sur les
paramètres de l'utilitaire.. Tu peux l'utiliser à partir de ton code VB
grace à la fonction Shell ou encore l'API ShellExecute..


--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous