Cuando uso Delphi2005 para depurar el DBWebFiltersample con su propio ejemplo, encontré el siguiente problema: si la propiedad activa de BDPDataAdapter1 está establecida en True, el siguiente error ocurre cuando se completa la compilación y la operación.
error
Error del servidor en la aplicación "/DBWebFilterSample".
-------------------------------------------------- ------------------------------
Conexión abierta fallida.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Verifique la información de la traza de la pila para obtener detalles sobre el error y dónde se causó el error en el código.
Detalles de la excepción: Borland.Data.common.BDPException: Connection Open falló.
Self.dbwebdataSource1.errordlgforecolor: = system.drawing.color.black;
(System.componentModel.isupportinitialize (self.bdpdataAdapter1)). Endinit; línea 291:
(System.componentModel.isupportinitialize (self.employees)). Endinit; línea 292:
(System.ComponentModel.isupportinitialize (self.datatable1)). Endinit;
Archivo de origen: g:/archivos de programa/borland/bds/3.0/demostración/delphi.net/dbweb/webfilter/webform1.pas Línea: 290 traza de pila: [bdpexception:
Conexión abierta fallida.
Borland.data.provider.bdpdataAdapter.endinit () webform1.twebform1.initializeComponent () en g:/programa
Archivos/Borland/Bds/3.0/Demos/Delphi.net/DBWeb/WebFilter/WebForm1.pas: 290 WebForm1.twebform1.oninit (EventArgs E) en
G:/Archivos de programa/Borland/Bds/3.0/Demos/Delphi.net/DBWeb/WebFilter/WebForm1.pas: 344
System.web.ui.control.initrecursive (control namingContainer) System.web.ui.page.processrequestMain ()
-------------------------------------------------- ------------------------------
Información de la versión: Microsoft .NET Framework Versión: 1.1.4322.573;
Cuando la propiedad se establece en falso, se produce el siguiente error:
Error del servidor en la aplicación "/DBWebFilterSample".
-------------------------------------------------- ------------------------------
La cadena de entrada es incorrecta.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Verifique la información de la traza de la pila para obtener detalles sobre el error y dónde se causó el error en el código.
Detalles de la excepción: System.FormateException: la cadena de entrada está formateada incorrectamente. Error de origen: línea 325: la línea 326: ScurrentFilter: =
Convert.ToString (O);
Convert.Toint16 (listBox2.SelectedValue); línea 329: Si StartCustid <EndCustid entonces
Archivo de origen: g:/archivos de programa/borland/bds/3.0/demostración/delphi.net/dbweb/webfilter/webform1.pas Línea: 327 traza de pila: [FormateXception:
La cadena de entrada es incorrecta. ] System.Number.ParseInt32 (String S, Numberstyles Style, NumberFormAtInfo Info) +0
System.int16.Parse (String S, Numberstyles Style, iformatProvider Provider) +37 System.Convert.Toint16 (Valor de cadenas) +19
Webform1.twebform1.page_load (remitente de objeto, eventArgs e) en g:/programa
Archivos/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 ()
-------------------------------------------------- ------------------------------
Información de la versión: Microsoft .NET Framework Versión: 1.1.4322.573;
Dado que mi enfoque de prueba es usar Delphi2005 para implementar la consulta web, modifiqué ligeramente los errores menores anteriores, y no hubo error en la compilación y la operación, pero no se mostraron datos. Para dejarlo mostrar datos, el autor
Agregue un botón al formulario de diseño WebForm1 y agregue el siguiente código al evento del botón:
si no bdpdataAdapter1.activo
entoncesbdpDataAdapter1.active: = true;
Cuando hace clic en este botón cuando se compila y ejecuta, se produce el siguiente error:
Error del servidor en la aplicación "/DBWebFilterSample".
-------------------------------------------------- ------------------------------
Conexión abierta fallida.
Descripción: Se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Verifique la información de la traza de la pila para obtener detalles sobre el error y dónde se causó el error en el código.
Detalles de la excepción:
Borland.data.common.bdpexception: la conexión abre fallas.
Si no es BDPDataAdapter1.Active, entonces Línea 303:
BdpdataAdapter1.active: = true; // La línea 304 ocurrió en esta oración:
fin;
Archivo de origen: g:/programa
Archivos/Borland/Bds/3.0/Demos/Delphi.net/DBWeb/WebFilter/WebForm1.pas Línea: 303
Trace de pila: [BDPException: Connection Open falló.
Base de datos no disponible] Borland.data.provider.bdpdataAdapter.e () borland.data.provider.bdpdataAdapter.set_active (valor booleano)
Webform1.twebform1.button1_click (remitente de objeto, eventArgs e) en g:/programa
Archivos/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.raisePostBackvent (string eventArgument)
System.web.ui.page.raisePostBackvent (ipostBackeventHandler SourCeControl, String EventArgument)
System.web.ui.page.raisePostBackvent (nameValueCollection PostData)
System.web.ui.page.processrequestmain ()
-------------------------------------------------- ------------------------------
Información de la versión: Microsoft .NET Framework Versión: 1.1.4322.573;
Verifique cuidadosamente el archivo de ayuda. Debe haber un problema con la conexión de la base de datos, pero los datos se prueban en el estado de diseño
No hay problema con la conexión de la biblioteca, por lo que agregué el evento de botón a la conexión de la base de datos, todas las propiedades, compilar y ejecutar, hacer clic, y la falla permanece. Verifique el archivo de ayuda cuidadosamente y se incluyen los siguientes contenidos:
Para configurar una conexión
1. En el proveedor de datos de Borland: Editor de conexiones, seleccione el elemento apropiado de la lista de conexiones.
2. En la configuración de conexión, ingrese la ruta de la base de datos.
NOTA: Si se refiere a una base de datos en el disco local, prevenga la ruta con
Localhost:.
Localhost: C:/Program Files/Borland/Interbase/Ejemplos/Database/Employee.gdb
(o cualquiera que sea la ruta real para su sistema).
3. Complete los campos de nombre de usuario y contraseña para la base de datos según sea necesario.
4. Haga clic en la prueba para confirmar la conexión.
Aparece un diálogo que confirma el estado de la conexión.
5. Haga clic en OK para regresar al proveedor de datos de Borland: diálogo del editor de conexiones.
6. Haga clic en OK para volver al cuadro de diálogo Configuración del adaptador de datos.
En la pestaña Comando, las áreas para tablas y columnas se actualizan con información de su conexión.
Así que establezca la propiedad ConnectionString de bdpconnection1 en bases de datos = localhost: g:/programa
Archivos/Borland/Interbase/Ejemplos/Database/Employee.gdb; Assembly = Borland.Data.interbase, Version = 2.0.0.0, cultura = neutral, público, público
Keytoken = 91d62ebb5b0d1b1b; vendorClient = gds32.dll; proveedor = interbase; username = sysdba; contraseña = maestría
Establezca la propiedad activa de bdpdataAdapter1 en verdad
Retire los botones agregados y su código, compile y vuelva a ejecutar, todo es normal.