Quando uso o Delphi2005 para depurar a amostra do DBWebFilters com seu próprio exemplo, encontrei o seguinte problema: se a propriedade ativa do BDPDataAdapter1 for definida como true, o seguinte erro ocorre quando a compilação e a operação são concluídas.
erro
Erro do servidor no aplicativo "/dbwebfiltersample".
-------------------------------------------------------- --------------------------------
Falha na conexão
Descrição: ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Verifique as informações de rastreamento da pilha para obter detalhes sobre o erro e onde o erro foi causado no código.
Detalhes da exceção: Borland.data.common.bdpexception: Falha na conexão.
Self.dbwebdataSource1.erRordlgForEcolor: = System.drawing.color.black;
(System.comPonentModel.isupportInitialize (self.bdpdataadapter1)). Endinit; linha 291:
(System.comPonentModel.isupportinitialize (self.employes)). Endinit; linha 292:
(System.comPonentModel.isupportinitialize (self.datatable1)). Endinit;
Arquivo de origem: G:/Arquivos de Programas/Borland/BDS/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas linha: 290 Stack Trace: [BDPexception:
Conexão aberta.
Borland.data.provider.bdpdataadapter.endinit () webform1.twebform1.initializeComponent () em g:/programa
Arquivos/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 290 webform1.twebform1.oninit (EventArgs e) em
G:/Arquivos de programas/Borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas: 344
System.web.ui.control.initrecursive (controle namingContainer) System.web.ui.page.processRequestMain ()
-------------------------------------------------------- --------------------------------
Informações da versão: Microsoft .NET Framework Versão: 1.1.4322.573;
Quando a propriedade é definida como falsa, ocorre o seguinte erro:
Erro do servidor no aplicativo "/dbwebfiltersample".
-------------------------------------------------------- --------------------------------
A sequência de entrada está incorreta.
Descrição: ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Verifique as informações de rastreamento da pilha para obter detalhes sobre o erro e onde o erro foi causado no código.
Detalhes da exceção: System.Formatexception: A sequência de entrada é formatada incorretamente. Erro de fonte: linha 325: else Linha 326: ScurrentFilter: =
Convert.ToString (O);
Convert.toint16 (ListBox2.SelectedValue); Linha 329: Se startCustid <endcustid então
Arquivo de origem: G:/Arquivos de Programas/Borland/BDS/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas linha: 327 Stack Trace: [formatexception:
A sequência de entrada está incorreta. ] System.Number.Parseint32 (String S, NumberTyles Style, NumberFormatInfo Info) +0
System.Int16.Parse (String S, NumberTyles Style, IFORMATPROVER Provedor) +37 System.Convert.toint16 (String Value) +19
Webform1.twebform1.page_load (remetente de objeto, EventArgs e) em G:/Programa
Arquivos/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 ()
-------------------------------------------------------- --------------------------------
Informações da versão: Microsoft .NET Framework Versão: 1.1.4322.573;
Como meu foco no teste é usar o Delphi2005 para implementar a consulta da Web, modifiquei ligeiramente os erros menores acima e não houve erro na compilação e operação, mas nenhum dado foi exibido. Para deixá -lo exibir dados, o autor
Adicione um botão ao formulário de design do WebForm1 e adicione o código a seguir ao evento do botão:
se não for bdpdataadapter1.active
thenbdpdataadapter1.active: = true;
Quando você clica neste botão quando você compila e executa, ocorre o seguinte erro:
Erro do servidor no aplicativo "/dbwebfiltersample".
-------------------------------------------------------- --------------------------------
Falha na conexão
Descrição: ocorreu uma exceção não tratada durante a execução da solicitação da web atual. Verifique as informações de rastreamento da pilha para obter detalhes sobre o erro e onde o erro foi causado no código.
Detalhes da exceção:
Borland.data.common.bdPexception: Falha na conexão.
Se não for bdpdataadapter1.active, então linha 303:
Bdpdataadapter1.active: = true; // A linha 304 ocorreu nesta frase:
fim;
Arquivo de origem: G:/Programa
Arquivos/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas linha: 303
Rastreamento da pilha: [bdPexception: conexão aberta falhou.
Database indisponível] Borland.data.provider.bdpdataadapter.e () borland.data.provider.bdpdataadapter.set_active (valor booleano)
Webform1.twebform1.button1_click (remetente de objeto, EventArgs e) em G:/Programa
Arquivos/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.RaiseSepostBackEvent (String EventArgument)
System.web.ui.page.raisepostbackevent (iPostbackventhandler SourceControl, String EventArgument)
System.web.ui.page.raisepostbackevent (NameValuecollection PostData)
System.web.ui.page.processRequestmain ()
-------------------------------------------------------- --------------------------------
Informações da versão: Microsoft .NET Framework Versão: 1.1.4322.573;
Verifique cuidadosamente o arquivo de ajuda. Deve haver um problema com a conexão do banco de dados, mas os dados são testados no estado de design
Não há nenhum problema com a conexão da biblioteca, então adicionei o evento de botão à conexão do banco de dados, todas as propriedades, compilar e executar, clicar e a falha permanece. Verifique o arquivo de ajuda com cuidado e os seguintes conteúdos estão incluídos:
Para configurar uma conexão
1. Em Borland, provedor de dados: Editor de conexões, selecione o item apropriado na lista de conexões.
2.En Configurações de conexão, insira o caminho do banco de dados.
Nota: Se se referir a um banco de dados no disco local, prenda o caminho com
LocalHost:.
localhost: c:/arquivos de programas/borland/interbase/exemplos/banco de dados/funcionário.gdb
(ou qualquer que seja o caminho real para o seu sistema).
3. Complete os campos de nome de usuário e senha para o banco de dados, conforme necessário.
4.Click Teste para confirmar a conexão.
Uma caixa de diálogo aparece confirmando o status da conexão.
5.Click OK para retornar ao provedor de dados de Borland: diálogo do Editor de conexões.
6.Clique OK para retornar à caixa de diálogo Configuração do adaptador de dados.
Na guia Comando, as áreas para tabelas e colunas são atualizadas com informações da sua conexão.
Portanto, defina a propriedade ConnectionString de BDPConnection1 como bancos de dados = localhost: G:/Programa
Arquivos/borland/interbase/exemplos/banco de dados/funcionário.gdb; Assembly = borland.data.interbase, versão = 2.0.0.0, cultura = neutro, público
KeyToken = 91D62EBB5B0D1B1B; VENDORCLIENT = GDS32.DLL; provider = interbase; nome de usuário = sysdba; senha = masterKey
Defina a propriedade ativa do bdpdataadapter1 como true
Remova os botões adicionados e seu código, compile e execute novamente, tudo é normal.