Lorsque j'utilise Delphi2005 pour déboguer le dbwebfiltersample avec son propre exemple, j'ai rencontré le problème suivant: Si la propriété active de BDPDATAADAPTER1 est définie sur true, l'erreur suivante se produit lorsque la compilation et l'opération sont terminées.
erreur
Erreur de serveur dans l'application "/ dbwebfiltersample".
-------------------------------------------------- ------------------------------
Connexion ouverte Échec.
Description: Une exception non perdue s'est produite lors de l'exécution de la demande Web actuelle. Veuillez vérifier les informations sur la trace de pile pour plus de détails sur l'erreur et où l'erreur a été causée dans le code.
Détails de l'exception: borland.data.common.bdpexception: la connexion ouverte a échoué.
Self.dbwebdatasource1.errordlgForColor: = System.Drawing.Color.Black;
(System.ComponentModel.isupportiniTalize (self.bdpdataadapter1)). Endinit; ligne 291:
(System.ComponentModel.isupportiniTalize (self.employes)). Endinit; ligne 292:
(System.ComponentModel.IsupportiniTalize (self.datatable1)). Endinit;
Fichier source: G: / Program Files / Borland / BDS / 3.0 / Demos / Delphi.net / dbweb / webFilter / webForm1.pas Line: 290 Trace de pile: [BDPEXception:
Connexion ouverte Échec.
Borland.data.provider.bdpdataadapter.endinit () webform1.twebform1.InitializEcomponent () dans g: / programme
Files / Borland / BDS / 3.0 / Demos / Delphi.net / DBWeb / WebFilter / WebForm1.pas: 290 WebForm1.twebForm1.oninit (EventArgs E)
G: / Program Files / Borland / BDS / 3.0 / Demos / Delphi.net / DBWeb / WebFilter / WebForm1.pas: 344
System.Web.Ui.Control.Initrecursive (Control NamingContainer) System.Web.Ui.Page.ProcessRequestMain ()
-------------------------------------------------- ------------------------------
Informations sur la version: Microsoft .NET Framework Version: 1.1.4322.573;
Lorsque la propriété est définie sur False, l'erreur suivante se produit:
Erreur de serveur dans l'application "/ dbwebfiltersample".
-------------------------------------------------- ------------------------------
La chaîne d'entrée est incorrecte.
Description: Une exception non perdue s'est produite lors de l'exécution de la demande Web actuelle. Veuillez vérifier les informations sur la trace de pile pour plus de détails sur l'erreur et où l'erreur a été causée dans le code.
Détails de l'exception: System.Formatexception: la chaîne d'entrée est mal formatée. Erreur source: ligne 325: else Line 326: ScurrentFilter: =
Convert.toString (o); ligne 327: startCustid: = convert.toint16 (listbox1.selectedValue);
Convert.toint16 (listbox2.selectedValue); ligne 329: si startCustid <endcustid alors
Fichier source: G: / Program Files / Borland / BDS / 3.0 / Demos / Delphi.net / dbweb / webFilter / webForm1.PAS Line: 327 Trace de pile: [Formatexception:
La chaîne d'entrée est incorrecte. ] System.number.Parseint32 (String S, NumbersTyles Style, NumberFormatinfo Info) +0
System.int16.Parse (String S, NumberTyles Style, IformatProvider Provider) +37 System.Convert.Toint16 (Valeur de la chaîne) +19
Webform1.twebform1.page_load (expéditeur d'objet, eventArgs e) en g: / programme
Files / Borland / BDS / 3.0 / Demos / Delphi.net / dbweb / webfilter / webform1.pas: 327 System.web.ui.control.onload (EventArgs E)
System.Web.Ui.Control.LoadReCursive () System.Web.Ui.Page.ProcessRequestMain ()
-------------------------------------------------- ------------------------------
Informations sur la version: Microsoft .NET Framework Version: 1.1.4322.573;
Étant donné que mon objectif de test est d'utiliser Delphi2005 pour implémenter une requête Web, j'ai légèrement modifié les erreurs mineures ci-dessus, et il n'y avait aucune erreur dans la compilation et l'opération, mais aucune donnée n'a été affichée. Afin de le laisser afficher des données, l'auteur
Ajoutez un bouton au formulaire de conception WebForm1 et ajoutez le code suivant à l'événement du bouton:
Si non BDPDATAADAPTER1.ACTIVE
thenbdpdataadapter1.active: = true;
Lorsque vous cliquez sur ce bouton lorsque vous compilez et exécutez, l'erreur suivante se produit:
Erreur de serveur dans l'application "/ dbwebfiltersample".
-------------------------------------------------- ------------------------------
Connexion ouverte Échec.
Description: Une exception non perdue s'est produite lors de l'exécution de la demande Web actuelle. Veuillez vérifier les informations sur la trace de pile pour plus de détails sur l'erreur et où l'erreur a été causée dans le code.
Détails de l'exception:
Borland.data.common.bdpexception: la connexion ouverte a échoué.
Sinon BDPDATAADAPTER1.ACTIVE puis la ligne 303:
Bdpdataadapter1.active: = true; // la ligne 304 s'est produite dans cette phrase:
fin;
Fichier source: G: / Programme
Fichiers / Borland / BDS / 3.0 / Demos / Delphi.net / DBWeb / WebFilter / WebForm1.PAS Ligne: 303
Stack Trace: [BDPException: la connexion ouverte a échoué.
base de données indisponible] borland.data.provider.bdpdataadapter.e () borland.data.provider.bdpdataadapter.set_active (valeur booléenne)
Webform1.twebform1.button1_click (expéditeur d'objet, EventArgs e) en g: / programme
Files / Borland / BDS / 3.0 / Demos / Delphi.net / dbweb / webfilter / webform1.pas: 303 system.web.ui.webcontrols.button.onclick (EventArgs e)
System.web.ui.webcontrols.button.system.web.ui.ipostbackeventhandler.raisepostbackevent (String EventArgument)
System.web.ui.page.RAISEPOSTBACKEVENT (IPOSTBACKEVENTHANDLER SOURCECONTROL, String EventArgument)
System.Web.Ui.Page.RAISEPOSTBACKEVENT (NameValueCollection Postdata)
System.web.ui.page.processRequestMain ()
-------------------------------------------------- ------------------------------
Informations sur la version: Microsoft .NET Framework Version: 1.1.4322.573;
Vérifiez soigneusement le fichier d'aide. Il doit y avoir un problème avec la connexion de la base de données, mais les données sont testées dans l'état de conception
Il n'y a aucun problème avec la connexion de la bibliothèque, j'ai donc ajouté l'événement de bouton à la connexion de la base de données toutes les propriétés, compiler et exécuter, cliquer et l'échec demeure. Vérifiez attentivement le fichier d'aide et le contenu suivant est inclus:
Pour configurer une connexion
1. Dans le fournisseur de données de Borland: éditeur de connexions, sélectionnez l'élément approprié dans la liste des connexions.
2. Dans les paramètres de connexion, entrez le chemin de la base de données.
Remarque: Si vous référez à une base de données sur le disque local, appliquez le chemin avec
LocalHost :. Si vous utilisez InterBase, par exemple, vous entreriez le chemin de la base de la base de données Interbase:
LocalHost: C: / Program Files / Borland / Interbase / Exemples / Database / Employee.gdb
(ou quel que soit le chemin réel pour votre système).
3. Complétez les champs de nom d'utilisateur et de mot de passe pour la base de données selon les besoins.
4.Click Test pour confirmer la connexion.
Une boîte de dialogue apparaît confirmant l'état de la connexion.
5. Cliquez sur OK pour revenir à la boîte de dialogue Borland Data Provider: Connections Editor.
6. Cliquez sur OK pour revenir à la boîte de dialogue de configuration de l'adaptateur de données.
Dans l'onglet Commande, les zones de tables et de colonnes sont mises à jour avec les informations de votre connexion.
Définissez donc la propriété ConnectionString de BDPConnection1 sur des bases de données = localhost: g: / programme
Fichiers / Borland / Interbase / Exemples / Database / Employee.gdb; assembly = borland.data.interbase, version = 2.0.0.0, culture = neutre, public
KeyToken = 91d62ebb5b0d1b1b; vendorClient = gds32.dll; prestat = interbase; username = sysdba; mot de passe = masterkey
Définissez la propriété active de BDPDATAADAPTER1 sur True
Retirez les boutons ajoutés et leur code, compilez et exécutez à nouveau, tout est normal.