Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1731 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  probleme en asp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme en asp

n°846860
zozo hab
Posté le 10-09-2004 à 13:09:56  profilanswer
 

Bonjour
j'ai rencontrer un problème dans une requete pour acceder à ma base de donnée access.dans ma page asp il y a trois requete dont une seule qui ne marche pas celle de sql2. Voila la partie de mon programme ou ila y a le problème :
 
<% If msg = 1 then
   
   SQL="SELECT convive.* FROM convive "
   SQL= SQL & "WHERE (((convive.Matricule) like '%" & Matricule & "%'));"
   SET Connect = Server.CreateObject("ADODB.Connection" )
       connstring="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
       Connect.Open connstring
   SET RS = Connect.Execute(SQL)
       
  If rs.RecordCount <> 0 and not rs.eof Then
      nom = rs("Nom / Prénom" )
      categorie = rs("Tarif" )
       
      %>
      <font color="#99CCFF"><%=rs("Tarif" )%><p align="right"></font>
     <%
     SQL2="SELECT Tarif.*,Tarif.Mtnormal,Tarif.Mtameliore FROM Tarif "
  SQL2 =SQL2 & "WHERE (((Tarif.code) like '%" & categorie & "%'));"
  SET Connect2 = Server.CreateObject("ADODB.Connection" )
          Connstring2="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
          Connect2.Open connstring2
  SET RS2 = Connect2.Execute(SQL2)
         
%>    
      <font color="#99CCFF"><%=rs2("code" )%><p align="right"></font>
       
 
      <%
     
      mtn=rs2("Mtnormal" )
      mta=rs2("Mtameliore" )
   
      SQL="SELECT consommation.*, consommation.Matricule FROM consommation "
     SQL =SQL & "WHERE (((consommation.Matricule) like '%" & Matricule & "%')) ORDER BY Date;"        
     SET Connect = Server.CreateObject("ADODB.Connection" )
          connstring="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
          Connect.Open connstring  
     
     SET RS = Connect.Execute(SQL)
If rs.RecordCount <> 0 and not rs.eof Then
   prix1 = 0
     
   %>
   
<div align="center">
 
 
Le message d'erreur au lancement de ma page est le suivant :
 
Type d'erreur :
ADODB.Field (0x80020009)
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.
/Restauration/Fiche consom.asp
 
 
Type de navigateur :
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
 
Merci d'avance.  
 
Page :
POST 32 bytes to /Restauration/Fiche consom.asp
 
POST Data:
Matricule=2411&CHERCHER=CHERCHER  
 
Heure :
vendredi 10 septembre 2004, 10:38:56  
 
 
Informations complémentaires :

mood
Publicité
Posté le 10-09-2004 à 13:09:56  profilanswer
 

n°846865
gedeon
Posté le 10-09-2004 à 13:23:06  profilanswer
 

Le message d'erreur me semble clair !
EOF BOF, ta requete ne retourne rien.  
Donc esaye de chopper le texte de SQL2 et verifie le !

n°846901
zozo hab
Posté le 10-09-2004 à 14:09:10  profilanswer
 

Merci d'abord
 
la table est plein, quand je deplace la requete sql2 au debut du traitement ca passe, je ne recois pas ce message et j'ai fais un tracage d'affichage du contenu du champ de recherche comme vous l'avez constater au programme ca me retourne des valeurs qui ne sonts pas exacte car ce n'est pas le bon emplacement parceque je dois avoir le contenu d'un champ de ma premier requete sql (categorie) pour effectuer sql2, je me demande pourquoi quand je place sql2  comme deuxième requete pour avoir le bon contenu de la variable de recherche il me sort ce message ,je pense comme ca vous pouvez plus comprendre mon message. Merci  

n°846904
zozo hab
Posté le 10-09-2004 à 14:11:11  profilanswer
 

gedeon a écrit :

Le message d'erreur me semble clair !
EOF BOF, ta requete ne retourne rien.  
Donc esaye de chopper le texte de SQL2 et verifie le !


 
 
Merci d'abord  
 
la table est plein, quand je deplace la requete sql2 au debut du traitement ca passe, je ne recois pas ce message et j'ai fais un tracage d'affichage du contenu du champ de recherche comme vous l'avez constater au programme ca me retourne des valeurs qui ne sonts pas exacte car ce n'est pas le bon emplacement parceque je dois avoir le contenu d'un champ de ma premier requete sql (categorie) pour effectuer sql2, je me demande pourquoi quand je place sql2  comme deuxième requete pour avoir le bon contenu de la variable de recherche il me sort ce message ,je pense comme ca vous pouvez plus comprendre mon message. Merci  

n°846915
gedeon
Posté le 10-09-2004 à 14:31:27  profilanswer
 

Tu peux essayer ça ?  
SQL2 = <%=SQL2%>
<%    
'      mtn=rs2("Mtnormal" )
'      mta=rs2("Mtameliore" )
   
'      SQL="SELECT consommation.*, consommation.Matricule FROM consommation "
'     SQL =SQL & "WHERE (((consommation.Matricule) like '%" & Matricule & "%')) ORDER BY Date;"        
'     SET Connect = Server.CreateObject("ADODB.Connection" )
          connstring="DRIVER={Microsoft Access Driver (*.mdb)}; '"&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
'     Connect.Open connstring  
     
'     SET RS = Connect.Execute(SQL)
'If rs.RecordCount <> 0 and not rs.eof Then
'   prix1 = 0
     
   %>  
Et poster le resultat ?

n°847036
zozo hab
Posté le 10-09-2004 à 15:47:41  profilanswer
 

je porte à votre connaissance que je suis débutante en asp càd c'est ma première page web en asp et j'ai pas eu de formation en ce code(asp).
est ce que je doit inserer toutes ces lignes dans ma page et à quel niveau? Merci .  
 

gedeon a écrit :

Tu peux essayer ça ?  
SQL2 = <%=SQL2%>
<%    
'      mtn=rs2("Mtnormal" )
'      mta=rs2("Mtameliore" )
   
'      SQL="SELECT consommation.*, consommation.Matricule FROM consommation "
'     SQL =SQL & "WHERE (((consommation.Matricule) like '%" & Matricule & "%')) ORDER BY Date;"        
'     SET Connect = Server.CreateObject("ADODB.Connection" )
          connstring="DRIVER={Microsoft Access Driver (*.mdb)}; '"&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
'     Connect.Open connstring  
     
'     SET RS = Connect.Execute(SQL)
'If rs.RecordCount <> 0 and not rs.eof Then
'   prix1 = 0
     
   %>  
Et poster le resultat ?

n°847063
gedeon
Posté le 10-09-2004 à 16:05:21  profilanswer
 

Bon ok , donc on va faire plus compréhensible
 
Remplace  
<%
     
      mtn=rs2("Mtnormal" )
      mta=rs2("Mtameliore" )
   
      SQL="SELECT consommation.*, consommation.Matricule FROM consommation "
     SQL =SQL & "WHERE (((consommation.Matricule) like '%" & Matricule & "%')) ORDER BY Date;"        
     SET Connect = Server.CreateObject("ADODB.Connection" )
          connstring="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
          Connect.Open connstring  
     
     SET RS = Connect.Execute(SQL)
If rs.RecordCount <> 0 and not rs.eof Then
   prix1 = 0
     
   %>  
par ça  
 
SQL2 = <%=SQL2%>
 
 
Et poste le resultat de la ligne :  
SQL2 = SELECT Tarif.*,Tarif.Mtnormal,Tarif.Mtameliore FROM Tarif WHERE .... etc

n°848675
zozo hab
Posté le 13-09-2004 à 13:35:29  profilanswer
 

Merci de votre comprehension.
J'ai fais ce que vous m'avez proposer mon nouveau programme est le suivant:
 
<% If msg = 1 then
         
   SQL="SELECT convive.* FROM convive "
   SQL= SQL & "WHERE (((convive.Matricule) like '%" & Matricule & "%'));"
   SET Connect = Server.CreateObject("ADODB.Connection" )
       connstring="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
       Connect.Open connstring
   SET RS = Connect.Execute(SQL)
       
  If rs.RecordCount <> 0 and not rs.eof Then
      nom = rs("Nom / Prénom" )
      categorie = rs("Tarif" )
      %>
   
      <font color="#99CCFF"><%=rs("Tarif" )%><p align="right"></font>
     
   
       SQL2 = <%=SQL2%>  
       
<% SQL2="SELECT Tarif.*,Tarif.Mtnormal,Tarif.Mtameliore FROM Tarif "
  SQL2 =SQL2 & "WHERE (((Tarif.code) like '%" & categorie & "%'));"
  SET Connect2 = Server.CreateObject("ADODB.Connection" )
          Connstring2="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
          Connect2.Open connstring2
  SET RS2 = Connect2.Execute(SQL2)
  mtn=rs2("Mtnormal" )  
  mta=rs2("Mtameliore" )  
 
 %>        
        <font color="#99CCFF"><%=rs2("code" )%><p align="right"></font>
 
 ça me donne tjs le message d'erreur suivant dont la ligne 51 est mtn=rs2("Mtnormal" ) :
 
Type d'erreur :
ADODB.Field (0x800A0BCD)
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.
/Restauration/Fiche consom.asp, line 51
 
 
Type de navigateur :
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)  
 
Page :
POST 32 bytes to /Restauration/Fiche consom.asp
 
POST Data:
Matricule=2144&CHERCHER=CHERCHER  
 
Heure :
lundi 13 septembre 2004, 11:31:27  
 
 

gedeon a écrit :

Bon ok , donc on va faire plus compréhensible
 
Remplace  
<%
     
      mtn=rs2("Mtnormal" )
      mta=rs2("Mtameliore" )
   
      SQL="SELECT consommation.*, consommation.Matricule FROM consommation "
     SQL =SQL & "WHERE (((consommation.Matricule) like '%" & Matricule & "%')) ORDER BY Date;"        
     SET Connect = Server.CreateObject("ADODB.Connection" )
          connstring="DRIVER={Microsoft Access Driver (*.mdb)}; "&"DBQ="&Server.MapPath("." )&"/restauration.mdb"'
          Connect.Open connstring  
     
     SET RS = Connect.Execute(SQL)
If rs.RecordCount <> 0 and not rs.eof Then
   prix1 = 0
     
   %>  
par ça  
 
SQL2 = <%=SQL2%>
 
 
Et poste le resultat de la ligne :  
SQL2 = SELECT Tarif.*,Tarif.Mtnormal,Tarif.Mtameliore FROM Tarif WHERE .... etc

n°848778
gedeon
Posté le 13-09-2004 à 14:50:33  profilanswer
 

:fou:  
enleve moi ça !!!!!
 
  mtn=rs2("Mtnormal" )  
  mta=rs2("Mtameliore" )
 
 :fou:  

n°848779
gedeon
Posté le 13-09-2004 à 14:51:42  profilanswer
 

Et colle ça à la fin !  
SQL2 = <%=SQL2%>  
 

mood
Publicité
Posté le 13-09-2004 à 14:51:42  profilanswer
 

n°848957
zozo hab
Posté le 13-09-2004 à 17:03:11  profilanswer
 

c'est fait et ça donne tjs le même message ce qui m'etonne c'est que quand je deplace la requete sql2 au début c à d après if msg = 1 ect je ne reçois pas de message et le programme tourne bien sauf les données de ma requete sql2 ne sont pas bonnes car elle est mal placer .Merci.
 

gedeon a écrit :

Et colle ça à la fin !  
SQL2 = <%=SQL2%>

n°858290
Flyman30
Posté le 26-09-2004 à 20:43:43  profilanswer
 

ferme les connexion avant chaque nouvelles requettes SQL  ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  probleme en asp

 

Sujets relatifs
probleme debugger Visual C++ 6problème installation visual studio 6
Problème lors du post d'un checkbox checked disabled[VB] Probleme d'acces a une base Access en mise a jour.
problème de fread[java]probleme avec getResource dans un jar
Libraire OpenSSL - Problème d'utilisationJuste un tout petit probleme avec GD
access excel problème de caractères retour à la ligne, etc...[Résolu - ADO] Problème de connexion à un serveur OLAP
Plus de sujets relatifs à : probleme en asp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR