ERRO - ADO com firebird
bom amigos é o seguinte ...
estou apenas testando o uso do ADO com o firebird
tenho o seguinte codigo no evento onCreate de meu form ...
se eu carregar os fields no componente [b:8a4a6d9efb]tb[/b:8a4a6d9efb], nao da erro nehum ... mas se eu deixar sem nenhum field ele me da o seguinte erro!
´could not convert variant of type (Null) into type (String)´
pq esse erro???
abraçoss
estou apenas testando o uso do ADO com o firebird
tenho o seguinte codigo no evento onCreate de meu form ...
c.ConnectionString:=´Provider=MSDASQL.1;Persist Security Info=False;Data Source=Firebird´; c.Connected:= true; tb.Connection:= c; tb.TableName:= ´TBTESTE´; tb.Active:= true;
se eu carregar os fields no componente [b:8a4a6d9efb]tb[/b:8a4a6d9efb], nao da erro nehum ... mas se eu deixar sem nenhum field ele me da o seguinte erro!
´could not convert variant of type (Null) into type (String)´
pq esse erro???
abraçoss
Rafael Gomes
Curtidas 0
Respostas
Renato.pavan
02/02/2006
Rafael, também utilizo o Ado com firebird, so q utilizom o driver ZStyle - IBFree, e com este nunca tive problema como o descrito por vc, ja q esta testando mesmo, baixe ele e faça o teste
[url]http://www.zstyle.dp.ua/eng/download.htm[/url]
Caso queira tirar alguma duvida pode me add no msn
renatopavan2002@hotmail.com
T+
[]´s
Renato
[url]http://www.zstyle.dp.ua/eng/download.htm[/url]
Caso queira tirar alguma duvida pode me add no msn
renatopavan2002@hotmail.com
T+
[]´s
Renato
GOSTEI 0
Rafael Gomes
02/02/2006
muito obrigado Renato, ja esta adicionado no msn ...
eu vou testar seu driver, mas quero lembrar que estou usando os drivers de acesso disponibilizados pelo site oficial do firebird ...
ninguem saberia me dizer o pq este erro ocorre? fiz uma pesquisa no forum mas nao adiantou muita coisa ...
gostaria de resolver o problema sem mudar drivers de acesso e etc ...
bem pessoal, é isso!!!
conto com a colaboracao dos colegas de forum!!
[]ss
eu vou testar seu driver, mas quero lembrar que estou usando os drivers de acesso disponibilizados pelo site oficial do firebird ...
ninguem saberia me dizer o pq este erro ocorre? fiz uma pesquisa no forum mas nao adiantou muita coisa ...
gostaria de resolver o problema sem mudar drivers de acesso e etc ...
bem pessoal, é isso!!!
conto com a colaboracao dos colegas de forum!!
[]ss
GOSTEI 0
Rafael Gomes
02/02/2006
olá pessoal, estou apenas postando para comunicar que resolvi o problema que gerou a criacao deste topico, e dizer tbm como resolvi o problema caso alguem tenha as mesmas dificuldades que eu ...
uma das solucoes é a proposta do nosso amigo renato e utilizar o driver oledb disponibilizado no link acima ...
e a segunda, é continuar utilizando odbc e ao inves de utilizar o componente adotable, utilizar quaisquer componentes da paleta ADO, pois o problema esta no componente adotable, com adodataset e adoquery funciona perfeitamente ...
se alguem souber de alguma incompatibilidade do adotable com o firebird poste para o beneficio de todos ...
um grande abraço!!!
Rafael :D
uma das solucoes é a proposta do nosso amigo renato e utilizar o driver oledb disponibilizado no link acima ...
e a segunda, é continuar utilizando odbc e ao inves de utilizar o componente adotable, utilizar quaisquer componentes da paleta ADO, pois o problema esta no componente adotable, com adodataset e adoquery funciona perfeitamente ...
se alguem souber de alguma incompatibilidade do adotable com o firebird poste para o beneficio de todos ...
um grande abraço!!!
Rafael :D
GOSTEI 0
Sourcecode
02/02/2006
Estranho dar este erro, talvez seja porque você não passou o charset para a conexão, o chato de trabalhar com ADO é isso, às vezes aparecem erros sem sentido, tenta conectar ao banco EMPLOYEE.FDB na pasta examples do firebird e veja se dá o mesmo erro... fiz uma conectionstring para você usar como exemplo:
o adotable funcionou certinho, se continuar aparecendo o erro me passa a extrutura da sua tabela que posso verificar pra você, pode me contactar no msn: sourcecode@terra.com.br entre 18 e 20 h.
Quanto ao driver que nosso amigo indicou não creio que seja uma boa solução, ´OLE DB driver for Interbase/Firebird version 5.0.11, 10.02.2004´, fevereiro de 2004, tá muito desatualizado, pode ocasionar algum problema nas versões acima da 1.03 do firebird, é bem mais seguro usar o driver oficial.
Provider=MSDASQL.1;Password=masterkey;User ID=SYSDBA;Extended Properties="Driver={Firebird/InterBase(r) driver};Dbname=C:\Arquivos de programas\Firebird\Firebird_1_5\examples\EMPLOYEE.FDB;CHARSET=NONE;Role=NONE"
o adotable funcionou certinho, se continuar aparecendo o erro me passa a extrutura da sua tabela que posso verificar pra você, pode me contactar no msn: sourcecode@terra.com.br entre 18 e 20 h.
Quanto ao driver que nosso amigo indicou não creio que seja uma boa solução, ´OLE DB driver for Interbase/Firebird version 5.0.11, 10.02.2004´, fevereiro de 2004, tá muito desatualizado, pode ocasionar algum problema nas versões acima da 1.03 do firebird, é bem mais seguro usar o driver oficial.
GOSTEI 0
Rafael Gomes
02/02/2006
olá sourcecode ... estranho mesmo o erro, interessante é que acontece apenas com ADOTable, por isso que eu disse que foi uma falha no componente, e quanto a usar o driver OLEDB creio que seja uma saida, mas assim como voce fiquei com o pé atras!
vou testar sua string de conexao e ver se vai dar algum erro ... e ja adianto a estrutura da minha tabela, nao tem nd demais!!
o sql que gera a tabela é esse aqui
grande abraço!!
vou testar sua string de conexao e ver se vai dar algum erro ... e ja adianto a estrutura da minha tabela, nao tem nd demais!!
o sql que gera a tabela é esse aqui
/******************************************************************************/ /**** Generated by IBExpert 03/02/2006 08:31:57 ****/ /******************************************************************************/ SET SQL DIALECT 3; SET NAMES NONE; /******************************************************************************/ /**** Tables ****/ /******************************************************************************/ CREATE TABLE TBTESTE ( CODIGO INTEGER, NUMERO INTEGER, NOME VARCHAR(10) ); /******************************************************************************/ /**** Privileges ****/ /******************************************************************************/
grande abraço!!
GOSTEI 0
Rafael Gomes
02/02/2006
o erro persiste com a sua string de conexao ...
interessante sourcecode é que eu vi relatos desse problema em varios foruns, e muitos problemas com usuarios de fora do pais ... só que em nenhum eu encontrei uma solucao diferente de ´ADO nao serve para ser utilizado com firebird, pq sempre ocorrem bugs como esse e o desempenho é muito inferior!!!´
Provider=MSDASQL.1;Password=masterkey;User ID=SYSDBA;Extended Properties="Driver={Firebird/InterBase(r) driver};Dbname=127.0.0.1:C:\Firebird\Firebird_1_5\examples\EMPLOYEE.FDB;CHARSET=NONE;Role=NONE"
interessante sourcecode é que eu vi relatos desse problema em varios foruns, e muitos problemas com usuarios de fora do pais ... só que em nenhum eu encontrei uma solucao diferente de ´ADO nao serve para ser utilizado com firebird, pq sempre ocorrem bugs como esse e o desempenho é muito inferior!!!´
GOSTEI 0
Rafael Gomes
02/02/2006
alguem pode ajudar?
GOSTEI 0